目录
先感谢yolov4的贡献者们
1、下载darknet源码
注意要下对分支 https://github.com/AlexeyAB/darknet
2、安装好CUDA、CUDNN和opencv
CUDA:10.0
CUDNN:7.4.1
opencv:3.4.2 或者4.3.0版本都可以,只要里面函数不报错能对上就行;
3、Windows + vs2017编译
解压darknet ,打开bulid文件下的darknet,一共有四个工程,这四个工程说明如下:
(1)darknet.sln :得到darknet.exe,darknet的命令行格式,GPU模式;
(2)darknet_no_gpu.sln :得到darknet_no_gpu.sln,darknet的命令行格式,CPU模式;
(3)yolo_cpp_dll.sln :得到yolo_cpp_dll.dll 和 yolo_cpp_dll.lib;是darknet的C++接口;GPU模式;
(4)yolo_cpp_dll_no_gpu.sln :得到yolo_cpp_dll_no_gpu.dll 和 yolo_cpp_dll_no_gpu.lib;是darknet的C++接口;CPU模式;
知道以上结果后,就可以知道自己要编译哪些文件了。
需要配置好各方路径,CUDA、opencv等,如果出现找不到头文件、找不到指定符号、缺少dll等情况,检查include、lib和环境变量或者附加包含目录有没有设置好。
3、注意事项
(1)运行的时候容易出现CUDA device 错误或者异常
首先需要确认版本对不对,CUDA和CUDNN版本是不是对;
另外,可能是系统中有多个CUDA版本引起的错误;
(2)opencv版本也没有那么严格,如果你系统中有opencv版本可以直接使用看看,不一定非要按照指定版本。
4、测试编译好的文件
(1)Yolov4的预训练模型yolov4.conv.137,该模型对应的cfg文件是yolov4-custom.cfg
下载地址还是:https://github.com/AlexeyAB/darknet
(2)运行测试:
darknet.exe detect cfg\yolov4.cfg ..\weights\yolov4.weights data\person.jpg