默认位置安装后发现环境变量自动加入了path
下载地址:https://developer.nvidia.com/rdp/cudnn-archive
官方给的建议是为cudnn解压后的包建立一个系统变量,解压后发现文件很少,没必要建立path了。
(msvs全局环境配置方法:视图-其他窗口-属性管理器:
双击对应环境下的.user配置
仅对该项目做环境配置:解决方案资源管理器-右击解决方案名-属性
)
更改C/C++中的附加包含目录为自己的opencv路径:
darknet-master\build\darknet\x64 下生成了darknet.exe
下载yolov3.weights 权重文件到 D:\darknet-master\build\darknet\x64
cmd中cd到 D:\darknet-master\build\darknet\x64
运行:darknet.exe detector test data/coco.data yolov3.cfg yolov3.weights
把这三个文件夹下的文件分别放到cuda的默认安装目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1下的对应文件夹。
官方给的建议是为cudnn解压后的包建立一个系统变量,解压后发现文件很少,没必要建立path了。
在msvs属性中,连接器——>输入——>附加依耐项,加入 cudnn.lib
问题解决!
windows.h
中也定义了max和min宏,当你包含了windows.h
时,该程序就不能通过编译。解决:
double delta = eps*(std::min(r1.width, r2.width) + std::min(r1.height, r2.height))*0.5;
修改为:
int x1 = r1.width < r2.width ? r1.width : r2.width; // std::min(r1.width, r2.width)
int x2 = r1.height < r2.height ? r1.height : r2.height; // std::min(r1.height, r2.height)
double delta = eps*(x1 + x2)*0.5;
问题3:
msvs打开darknet.sln显示“无法加载解决方案”
解决:
复制
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\extras\visual_studio_integration\MSBuildExtensions
文件下的四个文件至:
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations
问题4:
编译出错:MSB372 darknet cuda 9.1.targets 707
将build\darknet\darknet.vcxproj 中的
两处compute_75,sm_75替换成compute_52,sm_52
Reference:
https://github.com/AlexeyAB/darknet
https://blog.csdn.net/amusi1994/article/details/80261735