Yolov3模型框架darknet研究(七)自己动手将darknet官方代码移植到windows+visual studio上
前言
darknet官方代码(https://github.com/pjreddie/darknet )只提供了linux上的编译。为了方便跟踪以及调试、理解代码,本文介绍如何将它移植到visual studio上运行。 主要参考AlexAB的项目(https://github.com/AlexeyAB/darknet)
移植
1)将AlexeyAB项目下的文件夹“3rdparty”(主要是windows上的多线程实现)拷贝到darknet根目录。
2)创建一个空的控制台应用程序,然后把src目录下的文件全部impor进来,还有example目录下的部分文件。
3)在visual studio下设置头文件包含路径
4) 添加预处理器定义: _MBCS;WIN32;NDEBUG;_CONSOLE;_TIMESPEC_DEFINED;_LIB;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_RAND_S;_DEBUG;
5) 不使用stdafx.h
6)添加依赖库
7)屏蔽些暂时无用代码。 darknet框架还提供了rnn segmentation等功能,而我们目前只关注yolo目标检测。为了更容易通过编译链接,可以将这些目前无用模块的代码实现以及调用屏蔽掉。
小结
将darknet官方代码移植到vs上的主要目的就是借助vs强大方便的调试功能来更好的理解源代码,而不是想要在vs上训练和推理darknet。 移植过程还有些细节可能遗漏,大家如果有什么问题可以提出来一起讨论。毕竟我这边能正常设断点调试了。