win10 + YOLOv4 + CPU/GPU配置教程

遇到了N多的问题终于跑出来了。末尾再说遇到的问题和解决办法。主要参考的博客是https://blog.csdn.net/shuaijieer/article/details/106150135?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control

 

安装步骤:

1、vs2017

2、yolov4源码

3、CMark安装

4、cuda安装

5、cudnn安装

6、OpenCV安装

7、Cmark编译

8、VS编译

9、图像测试

10、测试结果

 

1、vs2017安装,直接官网下载即可,C盘空间不足,装在了D盘。实在不会呢,参考这个博客:https://blog.csdn.net/weixin_41722928/article/details/83000343

2、yolov4源码下载,直接下载到本地,解压使用即可。网址是: https://github.com/AlexeyAB/darknet.

3、CMake安装:官网https://cmake.org/

进入官网下载最新的版本即可(我用的是版本3.18)。图中红色标注的位置,下载后一路默认安装点下来就好。装在D盘也行。

 

 

4、Cuda安装

注意选择合适的版本。需要先查看自己显卡支持的版本,版本查询方法是先打开NVIDIA控制面板,点击系统信息,再点组件,比如我的显卡支持的是10.2。

直接百度官网,下载解压安装就行。这个软件主要应该是负责使用GPU的。下载网址:https://developer.nvidia.com/cuda-toolkit-archive

 

 

 

 

 

安装完成后检查是否安装成功。
win+R 进入运行界面,输入cmd进入命令行界面,输入nvcc --version 查看是否安装成功 

 

 

5、

cuDNN安装

在官网下载前需要注册NVIDIA DEVELPOER 的账号,比如选择与CUDA10.2对应的版本cuDNN7.6.4,点击library for win10文件,大概有240M左右。如下图所示:

 

 

官网的安装教程:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installwindows

其实就是将解压后将下面几个文件复制到CUDA的对应路径下。

  1. Copy …\cuda\bin\cudnn64_7.6.5.32.dll to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin.
  2. Copy …\cuda\ include\cudnn.h to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include.
  3. Copy …\cuda\lib\x64\cudnn.lib to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64.

简便快捷的方法就是把下载好的CUDNN文件 全部复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2中

 

6、

OpenCV安装

从官网下载,版本要大于2.4
下载好直接解压就可以,并将installpath\opencv\build\路径添加到系统的环境变量中,
CMake编译的时候会自动找到这个文件夹
添加环境变量如下图所示,在此电脑右击属性,弹出下图界面,点击高级系统设置。

点击环境变量,新建环境变量,

 

 如果还想知道更具体的安装方法,可参观相关博客,主要是有一个环境变量的配置。

7、

Cmake编译

如果你想用GPU加快检测速度,需要将Makefile文件用记事本打开,更改GPU=1 CUDNN=1 CUDNN_HALF=1 OPENCV=1。如下图所示:

 

 选择Browse Source 为源码所在文件夹,Browse Build 可以选择同一文件夹,点击Configure,弹出如下界面:

 

 如果VS是17版本,就选17版。第一项选择你所安装的VS版本,第二项平台选择x64 ,点击Finish,点击Configure,没有错误后点击generate。

 

 

 

成功后点击Open Project 打开项目文件。

8、

VS编译

注意:选择release版本,x64,直接生成解决方案。

 

 将D:\github\darknet\Release文件夹下的darknet.exe文件复制

 

打开到D:\github\darknet\build\darknet\x64文件夹内进行粘贴,如下图所示

 

 将opencv …\opencv\build\x64\vc14\bin 下的两个opencv_world330.dll和 opencv_ffmpeg330_64.dll dll文件复制到上述文件夹内。如下图所示:

 

 将cuDNN中的cudnn64_7.dll复制到上述文件夹。

 

 

9、

图像测试

为了验证是否配置成功,下载推荐的yolov4.weights文件和yolov4.,文件大概有245M,

链接:https://pan.baidu.com/s/1koPg1amOlqIw5bLwv4Id_Q
提取码:1234
复制这段内容后打开百度网盘手机App,操作更方便哦

 

将下载后的文件放在D:\github\darknet\build\darknet\x64文件夹下。
打开cmd命令行,转到上述的文件夹内,如下图所示:

按照GitHub,测试图像和视频复制对应的命令:
Yolo v4 COCO - image:                darknet.exe detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights -thresh 0.25
Output coordinates of objects:      darknet.exe detector test cfg/coco.data yolov4.cfg yolov4.weights -ext_output dog.jpg
Yolo v4 COCO - video:                  darknet.exe detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights -ext_output test.mp4

 

 

10、

测试结果

  1. 自带的dog图像

 

 也可以选择替他图片代替。

(2)视频可以在网上下载,放在x64文件夹中,命名为test.mp4。就可以进行视频识别了。

 

总结

整个配置不难,按照步骤来就行,第一次运行编译CMark时,cuda找不到,只好取消勾选不用GPU,这时候图片可以识别分类没问题,但是视频识别没有用GPU就特别慢,像播放幻灯片一样。不甘心,参考了各种博客,感觉是vs17环境变量出了问题,我是在openvc之后安装的vs。找到原因之后,全部卸载整个环境,先安装vs,然后重新装了一遍环境,Cmark编译没有问题,可以识别出cuda。在最后运行的时候,darknet.exe出现无法正常启动0xc00007b现象。找了好久原因,最后用DirectX修复工具增强版工具修复的。工具用的的这个https://pan.baidu.com/s/1BCpt7lzgRcONuP9IWwt0Hg提取码:1234

最后终于可以用GPU识别视频了,帧率还是有点低,但能看。

 

这是我的配置过程,大家有疑问欢迎评论区交流。

posted @ 2021-05-28 20:40  瓜瓜爱呱呱  阅读(1912)  评论(0编辑  收藏  举报