隨着AlexAB大神將YOLO繼續發揚光大到V4之後,一大波yolo粉狂歡了一陣,但是對於初學者想用卻遇到了麻煩,因爲環境配置永遠是頭疼的。
- 準備工作
VS2017
OpenCV3.4
CUDA10.1(+cudnn)其他版本亦可,取決於你顯卡的配置,我的是Titan Xp
darknet 源碼(https://github.com/AlexeyAB/darknet) - 配置環境
2.1 創建VS2017工程
選擇NVIDIA
2.2 配置文件
將下載解壓後的源碼中的以下幾個文件夾拷貝到新建工程下:3rdparty、cfg、data、include、src。model爲自己建立的,放權重文件yolo-v4.weights。
在工程下建立三個文件夾c、h、cu,從src中分別添加c文件、h文件、cu文件
2.3 配置屬性
選擇x64-Release
包含目錄中添加:
\3rdparty\pthreads\include;
\3rdparty\stb\include
\include
\opencv\build\include;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include
庫目錄中添加:
\3rdparty\pthreads\lib
\opencv\build\x64\vc15\lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64
C/C++ 預處理定義中添加:
WIN32;WIN64;NDEBUG;_CONSOLE;_LIB;OPENCV;CUDNN_HALF;CUDNN;_TIMESPEC_DEFINED;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_RAND_S;GPU
CUDA device中修改算力:根據顯卡配置
compute_30,sm_30;compute_75,sm_75
之後鏈接器中添加上相應的LIB文件。 - 編譯
基本上按上面的步驟,編譯應該可以成功生成。 - 測試
- CPU配置
除了不用添加cu文件外,其餘步驟一樣。
CPU速度7s,GPU執行 30ms,這就是差距!
如果編譯過程遇到問題,歡迎私信。