欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WIN10+VS2017编译Darknet+YOLOV3简单测试

程序员文章站 2024-03-15 11:39:35
...

环境:Win10,CTX1050Ti
软件环境:CUDA10.2,cudnn.VS2017,OpenCV <= 3.4.0
CUDA10.2
检查是否支持 CUDA:https://developer.nvidia.com/cuda-gpus
CUDA 的下载地址:https://developer.nvidia.com/cuda-downloads
如果需要下载 CUDA 的历史版本,请移步:https://developer.nvidia.com/cuda-toolkit-archive
cudnn
下载完成后解压缩。里面有bin、include、lib三个目录,将三个文件夹复制到安装CUDA的地方覆盖对应文件夹,默认文件夹在:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

1.下载源码

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

1.1编译

(1) 文件解压在E:\code\darknet-master,进入E:\code\darknet-master\darknet-master\build中,没有GPU的对应darknet_no_gpu.sln,有GPU的对应darknet.sln
以配置GPU版本为例,利用VS2017打开darknet.sln,由于darknet.vcxproj 中使用的是CUDA 10.0,所以需要利用编辑器打开darknet.vcxproj ,将所有CUDA 10.0修改为自己对应的CUDA版本,否则加载失败。
(2) 加载成功之后接下来将之前安装的Opencv3.4的库路径添加到VS工程中(可以参考以下链接)
https://note.youdao.com/ynoteshare1/index.html?id=04fb326760a726f23cbd9ae8ff6b1fc6&type=note
注意:要配置Release X64环境,并且在这个环境下编译
WIN10+VS2017编译Darknet+YOLOV3简单测试
不然会报错WIN10+VS2017编译Darknet+YOLOV3简单测试
或者在使用中出现:

 ./darknet.exe detect cfg/yolov3.cfg weights/yolov3.weights data/dog.jpg
 CUDA-version: 10020 (10020), cuDNN: 7.6.5, CUDNN_HALF=1, GPU count: 1
 OpenCV isn't used
CUDA status Error: file: e:\code\darknet-master\darknet-master\src\darknet.c : main() : line: 467 : build time: Feb 25 2020 - 10:50:34
CUDA Error: cannot set while device is active in this process
CUDA Error: cannot set while device is active in this process: No error

(3)编译,生成代码成功,在E:\code\darknet-master\darknet-master\build\darknet\x64可以找到darknet.exe。

1.2测试

下载YOLOV3权重文件:https://pjreddie.com/media/files/yolov3.weights
创建文夹并且将下载的权重文件放入:E:\code\darknet-master\darknet-master\build\darknet\x64\weights/
然后将目录切换到E:\code\darknet-master\darknet-master\build\darknet\x64,打开cmd或者powershell,输入以下语句:

./darknet.exe detect cfg/yolov3.cfg weights/yolov3.weights data/dog.jpg

结果:

WIN10+VS2017编译Darknet+YOLOV3简单测试
同时也会得到predictions.jpg保存在相同目录下。
WIN10+VS2017编译Darknet+YOLOV3简单测试

相关标签: DL