yolo v3环境配置:vs2015+cudn9.1+cudnn7+darknet

yolo v3环境配置:vs2015+cudn9.1+cudnn7+darknet

本文地址:https://blog.csdn.net/shanglianlm/article/details/80322718


github  https://github.com/AlexeyAB/darknet
要求:
  1. vs2015+opencv3
  2. Windows 和 Linux都可以
  3. CUDA >= 7.5 (cuDNN v5-v7)
预训练模型:
 1 yolov3.cfg  https://pjreddie.com/media/files/yolov3.weights
 2 yolov3-tiny.cfg   https://pjreddie.com/media/files/yolov3-tiny.weights

  

下载 darknet https://github.com/AlexeyAB/darknet

H:\darknet\darknet-master\build\darknet目录下选择相应的 darknet_no_gpu.sln或者 darknet.sln用vs2015打开

先上我的环境配置图吧

下面三张图是我的配置
包含目录

库目录

附加依赖项

预处理器定义


1 配置opencv

包含目录
D:\opencv330\build\include
D:\opencv330\build\include\opencv
D:\opencv330\build\include\opencv2
库目录
D:\opencv330\build\x64\vc14\lib
链接器->输入
opencv_world330.lib

2 配置第三方包 pthreadVC2

包含目录
H:\darknet\darknet-master\3rdparty\include
库目录
H:\darknet\darknet-master\3rdparty\lib\x64
链接器->输入

pthreadVC2.lib

3 cuda9.1配置

包含目录
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include
库目录
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\lib\x64
链接器->输入

cublas.lib;curand.lib;cudart.lib;cudnn.lib;

4 预处理器定义

C/C++ -> 预处理器 -> 预处理器定义

OPENCV;CUDNN;_TIMESPEC_DEFINED;_CRT_SECURE_NO_WARNINGS;_CRT_RAND_S;WIN32;NDEBUG;_CONSOLE;_LIB;

测试

到 H:\darknet\darknet-master\build\darknet\x64 目录下
如果是CPU运行,把darknet_no_gpu.exe重命名成为darknet.exe

这是测试图片文件的
darknet.exe detector test data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 dog.jpg  
这是测试视频文件的
darknet.exe detector demo data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 test.mp4  

运行结果


编译过程报错处理

1 error LNK2001: 无法解析的外部符号 __imp_pthread_join
1>captcha.obj : error LNK2001: 无法解析的外部符号 __imp_pthread_join
1>data.obj : error LNK2001: 无法解析的外部符号 __imp_pthread_mutex_unlock
1>data.obj : error LNK2001: 无法解析的外部符号 __imp_pthread_create
1>data.obj : error LNK2001: 无法解析的外部符号 __imp_pthread_mutex_lock

解决方法:没有配置pthreadVC2,参考上面。

2 error LNK2001: 无法解析的外部符号 cudaPeekAtLastError
1>crop_layer_kernels.cu.obj : error LNK2001: 无法解析的外部符号 cudaPeekAtLastError
1>dropout_layer_kernels.cu.obj : error LNK2001: 无法解析的外部符号 cudaPeekAtLastError
1>maxpool_layer_kernels.cu.obj : error LNK2001: 无法解析的外部符号 cudaPeekAtLastError
解决方法:附加依赖性要加 curand.lib;cudart.lib;

3 无法启动此程序,因为计算机中丢失opencv_world320.dll
解决方法:把 D:\opencv330\build\x64\vc14\bin 目录下的 opencv_world320.dll复制到C:\Windows\System32

参考资料
1 [YOLO v3在Windows下的配置(无GPU)+opencv3.2.0+VS2015](https://blog.csdn.net/baidu_36669549/article/details/79798587)
2 [darknet github](https://github.com/AlexeyAB/darknet)
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mingo_敏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值