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識別視頻了,幀率還是有點低,但能看。

 

這是我的配置過程,大家有疑問歡迎評論區交流。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM