系统环境
- windows10
- Visual Studio 2017
- CUDA 9.2
- cudnn 9.2
- OpenCV 3.4.0(x64)
官方要求
- both Windows and Linux
- both OpenCV 2.x.x and OpenCV <= 3.4.0 (3.4.1 and higher isn't supported)
- both cuDNN v5-v7(和cuda相配套)
- CUDA >= 7.5(一定要和自己电脑的GPU配套的cuda驱动)
1.下载 darknet
- git clone https://github.com/AlexeyAB/darknet
(可参考 yolo 原作者 github 教程进行配置)
查看自己GPU内存,根据自己处理器性能后面配置相应网络,下载相应权重,位置可放在:darknet/cfg/
2.修改配置文件
Notepad++ 打开 build\darknet\darknet.vcxproj文件,修改两处 CUDA 版本为 CUDA-version
下载 opencv(windows版)
创一个文件夹(例:opencv_3.4.0)把下载的 exe 文件放入双击运行,会自动抽取相应文件
修改 opencv(x64) 的路径为你放的路径(例:D:\opencv_3.4.0\opencv\build\include;等等)
只改 x64 的即可,如果你要用 x86 的话另说
3.OpenCV+VS配置
- 配置
Step 1:OpenCV环境变量配置
我的电脑--->属性--->高级系统设置--->高级--->环境变量--->系统变量--->Path--->编辑,将OpenCV安装目录的bin目录添加进去,记得加上 ;(分号),本人电脑上的路径为:D:\opencv\build\x64\vc14\bin
Step 2:VS2015中配置:包含目录 + 库目录 + 链接器
(1) 包含目录 配置:
包含目录:
OpenCV安装目录下的...\include目录
OpenCV安装目录下的...\include\opencv目录
OpenCV安装目录下的...\include\opencv2目录
(2) 库目录 配置:
具体操作与 “包含目录”的配置类似,只是添加的路径不同而已。
库目录:OpenCV目录下的...x64\vc14\lib
(3) 链接器 配置:
将OpenCV安装目录下的库 的名字添加进来即可。
如opencv_3.4版:opencv_world340.lib
(注:项目的 Debug配置则添加以d结尾的lib文件,项目的 Release配置则添加 其他的lib文件 )
4.编译
选择 Release x64 ,右键解决方案,选择重新生成
可能报错:路径中缺少 CUDA 9.0.props ,无法加载C:\ProgramFiles(x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations
解决方法:原因是该路径下缺少CUDA文件,CUDA 9.0.props 就在cuda的安装目录下
我的路径是:C:\Program Files\NVIDIA GPU ComputingToolkit\CUDA\v9.0\extras\visual_studio_integration\MSBuildExtensions只要拷贝里面所有文件到
C:\ProgramFiles (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations中就行。
5.再次编译
编译成功,出现下图提示
双击生成的 darknet.exe ,提示缺少 opencv_world340.dll
解决方法:在opencv安装文件夹中寻找 opencv_world340.dll 和opencv_ffmpeg340_64.dll 位于目D:\opencv\build\x64\vc14\bin下,将他们放到 darknet.exe的同级别目录。再次编译,成功。
参考资料:
Github darknet:https://github.com/AlexeyAB/darknet
CSDN:Windows下 YOLOv3配置教程
Yolov3+windows10+VS2015部署安装
知乎:YoLoV3教程