WIN10+VS2017編譯Darknet+YOLOV3簡單測試

環境: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環境,並且在這個環境下編譯
在這裏插入圖片描述
不然會報錯在這裏插入圖片描述
或者在使用中出現:

 ./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

結果:

在這裏插入圖片描述
同時也會得到predictions.jpg保存在相同目錄下。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章