【YOLOv3+windows10+opencv3.0+VS2015】編譯生成無gpu版的darknet.exe中遇到的困難及解決方法,使例子能夠成功跑起來

本過程使用的是https://github.com/AlexeyAB/darknet裏的文件,先把這個GitHub裏的文件下載好,這個github裏的readme也都是慢滿滿的乾貨,但是有些細節都沒有說,不太適合新手,所以我這篇文章主要是說darknet.exe怎麼生成吧,先把圖片跑起來

想生成darknet.exe文件,首先要用visual studio打開E:\detect\darknet-master\build\darknet\darknet.sln

但是……我沒有gpu版的一直沒成功,我先弄一下無GPU版的,這個比較好成功,等有空再磕GPU版的……

如果沒有gpu想用cpu的,就點擊編譯darknet_no_gpu.sln這個文件,步驟相同,最終目的都是生成一個exe文件

首先修改文件darknet_no_gpu.vcxproj把OPENCV改成自己的路徑

然後用VS2015打開darknet_no_gpu.sln之後選擇Release x64,然後點擊開始調試

錯誤 C2589"(":"::"右邊的非法標記   C2059 語法錯誤:"::"

解決方法

設置項目屬性,在預定義處理器中添加定義NOMINMAX來禁止使用Visual C++的min/max宏定義。 
在項目中右鍵點擊屬性 ——> C/C++ ——> 預處理器 ——> 預處理器定義 (此處添加預定義編譯開關 NOMINMAX) 

然後就成功了!謝天謝地!

現在發現在E:\detect\darknet-master\build\darknet\x64中已經有了一個darknet_no_gpu.exe,把這個重命名爲darknet.exe,下載yolov3.weights在E:\detect\darknet-master\build\darknet\x6中,不知道在哪下的看下面這句話--->

這步還有後面步驟可以具體參考博客https://blog.csdn.net/baidu_36669549/article/details/79798587,他有提供yolov3.weights的百度網盤哦,當然也可以在官網下載,AlexeyAB的readme裏也有寫,當然直接下上面博主的比較方便先跑起來再說!

最後,雙擊x64文件夾裏的darknet_yolo_v3.cmd,就可以跑那個自帶的例子,如果想跑自己的例子,需要修改darknet_yolo_v3.cmd文件裏的內容,並把想測試的圖片放到x64文件夾下,成功顯示如下

關於視頻文件的測試,找一個微信小視頻,拷貝到D:\darknet-master\darknet-master\build\darknet\x64中重命名爲test.mp4

 

總結一下windows下配置好的YOLOv3的調用指令

測試圖片文件的

darknet.exe detector test data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 dog.jpg

 

 測試視頻文件的

darknet.exe detector demo data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 test.mp4

也可以把darknet.exe加入至環境變量的,相應的命令變成: 

圖片版:

darknet detector test data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 dog.jpg

視頻版:

darknet detector demo data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 test.mp4

相應步驟參考https://blog.csdn.net/baidu_36669549/article/details/79798587,非常感謝凌空的槳,錯誤部分還有修改路徑部分前面那個博主沒有說,所以我又補充了一下,沒有把gpu版本編譯好有點遺憾,下面會繼續嘗試編譯GPU版本以及嘗試訓練自己的圖片,如果研究好了會寫出來,因爲大部分博主感覺寫的還是不全,我一個萌新研究了好久才懂一點究竟應該怎麼做……繼續加油!勵志幫助到同樣迷茫的人們

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