本文主要是介绍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源码剖析(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!