Joseph Redmon
2015-06-10 a4485b8a6656c2a2fa0b78ca7c035523c8149b8c
src/darknet.c
@@ -11,6 +11,7 @@
extern void run_imagenet(int argc, char **argv);
extern void run_detection(int argc, char **argv);
extern void run_writing(int argc, char **argv);
extern void run_captcha(int argc, char **argv);
void del_arg(int argc, char **argv, int index)
@@ -68,17 +69,27 @@
    if(weightfile){
        load_weights_upto(&net, weightfile, max);
    }
    //net.seen = 0;
    net.seen = 0;
    save_weights(net, outfile);
}
void convert(char *cfgfile, char *outfile, char *weightfile)
#include "convolutional_layer.h"
void rgbgr_filters(convolutional_layer l);
void rgbgr_net(char *cfgfile, char *weightfile, char *outfile)
{
    network net = parse_network_cfg(cfgfile);
    if(weightfile){
        load_weights(&net, weightfile);
    }
    save_network(net, outfile);
    int i;
    for(i = 0; i < net.n; ++i){
        layer l = net.layers[i];
        if(l.type == CONVOLUTIONAL){
            rgbgr_filters(l);
            break;
        }
    }
    save_weights(net, outfile);
}
void visualize(char *cfgfile, char *weightfile)
@@ -88,12 +99,15 @@
        load_weights(&net, weightfile);
    }
    visualize_network(net);
    #ifdef OPENCV
    cvWaitKey(0);
    #endif
}
int main(int argc, char **argv)
{
    //test_resize(argv[1]);
    //test_resize("data/cat.png");
    //test_box();
    //test_convolutional_layer();
    if(argc < 2){
        fprintf(stderr, "usage: %s <function>\n", argv[0]);
@@ -114,12 +128,16 @@
        run_imagenet(argc, argv);
    } else if (0 == strcmp(argv[1], "detection")){
        run_detection(argc, argv);
    } else if (0 == strcmp(argv[1], "writing")){
        run_writing(argc, argv);
    } else if (0 == strcmp(argv[1], "test")){
        test_resize(argv[2]);
    } else if (0 == strcmp(argv[1], "captcha")){
        run_captcha(argc, argv);
    } else if (0 == strcmp(argv[1], "change")){
        change_rate(argv[2], atof(argv[3]), (argc > 4) ? atof(argv[4]) : 0);
    } else if (0 == strcmp(argv[1], "convert")){
        convert(argv[2], argv[3], (argc > 4) ? argv[4] : 0);
    } else if (0 == strcmp(argv[1], "rgbgr")){
        rgbgr_net(argv[2], argv[3], argv[4]);
    } else if (0 == strcmp(argv[1], "partial")){
        partial(argv[2], argv[3], argv[4], atoi(argv[5]));
    } else if (0 == strcmp(argv[1], "visualize")){