darknet源码剖析(一)

darknet编译较为简单,在github上下载代码后直接make即可。注意更改makefile文件中的相关选项。

GPU=1
CUDNN=1
OPENCV=0
OPENMP=0
DEBUG=1

编译完成后即可开始使用。根据yolov3的训练与测试过程,对darknet进行解析。

darknet使用c语言编写,main函数位于examples/darknet.c文件中。

训练yolov3使用的命令如下

./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.74

darknet.c的文件如下:

    if (0 == strcmp(argv[1], "average")){
        average(argc, argv);
    } else if (0 == strcmp(argv[1], "yolo")){
        run_yolo(argc, argv);
    } else if (0 == strcmp(argv[1], "super")){
        run_super(argc, argv);
    } else if (0 == strcmp(argv[1], "lsd")){
        run_lsd(argc, argv);
    } else if (0 == strcmp(argv[1], "detector")){
        run_detector(argc, argv);
    }

根据detector标签进入detector.c文件中的run_detector函数。

你可能感兴趣的:(darknet源码剖析)