YOLOv3配置(win10+opencv3.40+cuda9.1+cudnn7.1+vs2015)
yolov3實踐(一)
Win10, VS2017環境下OpenCV3.4.2的配置
GPU版
1. VS2017
- 前期已經安裝好VS2017
- 看到博客要安裝
,見3.1
2. CUDA
- 已安裝CUDA9.2,及CUDNN7.4.2
- 但是沒有在VS2017配置CUDA
后來發現也不需要配置啥... ...
3. OPENCV3.4
Win10, VS2017環境下OpenCV3.4.2的配置
要能在Visual Studio中使用上述安裝的OpenCV,需要如下兩個步驟:
-
配置相關的環境變量
-
建立工程要配置相關的屬性
1. 配置相關的環境變量
在用戶變量和系統變量中的Path變量都添加進opencv安裝目錄的build中的bin文件夾路徑
D:\opencv\opencv\build\x64\vc15\bin
build文件夾只有"x64"文件夾(似乎是只支持64位系統,所以沒有“x86”文件夾),加上我是64位系統,所以選擇了“x64”。而至於為什么選擇“vc15”下的"bin"文件夾,那是根據所使用的VS版本決定的。
Visual Studio 版本 | OpenCV對應文件夾 |
---|---|
VS2008 | vc9 |
VS2010 | vc10 |
VS2012 | vc11 |
VS2013 | vc12 |
VS2014 | vc13 |
VS2015 | vc14 |
VS2017 | vc15 |
OpenCV3.4.2的"x64"只有"vc14"和"vc15",這意味着它只支持VS2015和VS2017。
2. 建立工程要配置相關的屬性
-
新建c++空文件
-
進入視圖->項目管理器
-
debug x64模式,然后博客上有三種情況
- 在project右鍵屬性
- 在debug上右鍵屬性
- 在debug->Microsoft.cpp.x64.user右鍵屬性
我選擇第二種,配置完第4步后,發現以上三種操作效果一樣。
-
包含目錄,添加以下路徑
在庫目錄下,添加以下路徑 -
添加依賴項,選擇“鏈接器”中的“輸入”, “附加依賴項”
在上述庫目錄(即\build\x64\vc15\lib)中,可以找到對應的.lib。
如果是在debug模式下,添加opencv_world341d.lib;
若是release模式,則選opencv_world341.lib。它們的文件名相差一個"d",帶"d"的表示debug。
不可兩個都添加,否則會出現一定的錯誤,也不可在debug下配置非debug的lib,在release下配置debug的lib,一定要對應使用。若要在release模式下使用,就要再對應地進行配置。
3. 打開圖片
報錯:無法打開文件“opencv_world340d.dll
重啟電腦,新建項目,發現上面添加的路徑和依賴都不見了。
重新添加路徑和依賴,成功運行程序。
重新打開運行,沒問題。
4. YOLOV3
1、 修改darknet.vcxproj中CUDA版本 10.0改為9.2
2、 打開darknet.slh
平台工具集選擇“無升級”
打開后,顯示錯誤 : 項目“D:\...\darknet-master\build\darknet\darknet.vcxproj”配置“Release|x64”的 Designtime 生成失敗
將項目改為release x64,同時點擊項目,然后重定向解決方案,一定要選擇無升級,這樣就可以把編譯平台停在vs2015。沒有報錯。
3、 修改配置
-
常規 – 平台工具集:vs2015(v140)
-
VC++目錄 – 包含目錄:
…\opencv\build\include
…\opencv\build\include\opencv
…\opencv\build\include\opencv2VC++目錄 – 庫目錄:
…\opencv\build\x64\vc14\lib
-
添加目錄…\opencv\build\x64\vc14\lib下庫的名字
-
這里的目錄自己生成了錯誤的目錄,聖童發現才改了回來
4、 "CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions"下的文件直接拷貝到“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations”文件夾中。
5、 將…\opencv\build\x64\vc14\bin下的opencv_world330.dll 和opencv_ffmpeg330_64.dll 復制到 \darknet\darknet-master\build\darknet\x64 目錄下
6、 刪掉compute_75,sm_75(此步極為關鍵,要不然必出錯)
7、 右鍵工程項目,點擊重新生成,生成成功
8、 下載yolo_v3 weights: https://pjreddie.com/media/files/yolov3.weights,把它放到darknet\build\darknet\x64下
9、 在darknet\build\darknet\x6下按住shift鍵,點擊鼠標右鍵選擇“在此處打開Powershell 窗口(s)。
在命令行輸入 .\darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
CPU版
YOLOv3+win10+CPU+vs2017+opencv3.2 檢測自己的圖片
添加opencv環境,依賴。GPU版本的簡化版,上一節的2.3.5.7.8步。