前往
大廳
主題

在win10的VS2017安裝darketnet yolov3

別說違心之論好嘛? | 2020-11-26 22:12:33 | 巴幣 0 | 人氣 1897

最近專題要用到darknet來進行圖像辨識的深度學習,在搞環境安裝的過程碰到許多問題,弄完我這台電腦後順便要幫實驗室也裝一裝,有鑑於過程的諸多難點決定要把整個安裝流程紀錄下來

1.首先的預先準備有: VS2017、CUDA10.1、CUDNN10.1建議版本都一樣才不會出問題
這3個的安裝必較簡單照網路的步驟就好,主要需記得CUDA的安裝路徑

2.然後安裝Opencv3.4.0:https://opencv.org/opencv-3-4.html
下載完解壓縮,同樣要記得路徑

3.在CMD使用:git clone https://github.com/AlexeyAB/darknet下載darknet
點進資料夾內.darknet/build/darknet/x64,將步驟2的opencv資料夾.opencv3/build/x64/vc14/bin內的opencv_ffmpeg340_64.dll和opencv_world340.dll複製進去

4.回到darknet資料夾用vs2017開啟darknet.sln並調整為release和x64模式
若跑出這個視窗直接按確定就好

錯誤情況(1)組態 'Release|x64' 的 Designtime 建置失敗。IntelliSense 可能無法使用。
設定環境變數 TRACEDESIGNTIME = true,並重新啟動 Visual Studio 進行調查。

解決方式:在開始選單開啟vs2017的開發人員命令提示字元運行    
set TraceDesignTime=true
devenv

在打開的vs2017中開啟darknet.sln,然後到C:Users使用者名AppDataLocalTemp中找到designtime文件開啟後拉
到最下面可以看到錯誤訊息,類似下圖:

然後我們回到darknet資料夾用記事本開啟darknet.vcxproj,搜尋11.1並修改成10.1存檔
接著到,到cuda安裝路徑的CUDAv10.1/extras/visual_studio_integration/MSBuildExtensions把全部檔案複製進C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/Common7/IDE/VC/VCTargets/BuildCustomizations


5.回到darknet.sln在方案總管右鍵點擊darknet選屬性
在VC++目錄的ㄍㄧinclude目錄新增:(紅字要改成完整路徑)
.opencv/build/include/opencv2
.opencv/build/include/opencv
.opencv/build/include
程式庫目錄中新增:
.opencv/build/x64/vc14/lib
在連結器的輸入中的其他相依性新增:
opencv_world340.lib
全部完成後按確定

6.再次右鍵點darknet選建置
此時若跑出許多MSB3721錯誤可回到屬性中,選CUDA C/C++ 找到Code Generation刪除後兩項即可
1>專案 "darknet.vcxproj" 建置完成。
========== 建置: 1 成功、0 失敗、0 最新、0 略過 ==========建置成功


基本的安裝大致就是這樣,完成後可以在darknet/build/darknet/x64中找到生成的darknet.exe

接下來就測試一下darknet吧
1.首先下載官方的權重檔:https://pjreddie.com/media/files/yolov3.weights
新增weights資料夾放進去
2.cmd用cd移到darknet.exe的資料夾並運行:
darknet.exe detector test data/coco.data yolov3.cfg .weights/yolov3.weights .data/dog.jpg

看到這張圖就大功告成囉



參考文章:


創作回應

更多創作