darknet在windows上的安裝編譯與使用


darknet(https://github.com/pjreddie/darknet)實現了YOLO網絡模型,能快速准確識別多達9000種物體。但其在windows系統上的安裝卻並非一帆風順,本文進行總結,以免掉坑。

 

1,操作系統環境

Windows7 64位操作系統,無gpu

 

2,下載darknet

在網站https://github.com/pjreddie/darknet上,點擊“clone or download”,然后選擇“download ZIP”,下載為文件darknet-master.zip。解壓到“F:\test\git-src\darknet-master”目錄。

 

3,下載安裝Cygwin

參照以下文章“windows 安裝cygwin教程”進行安裝。

https://blog.csdn.net/chunleixiahe/article/details/55666792

 

重點:

²        尋找映像文件時,要選擇國內快速站點。比如下文推薦的sohu鏡像(http://mirrors.sohu.com/cygwin/)。筆者就是采用它,安裝非常快速。

https://blog.csdn.net/u011393033/article/details/51766876

²        選擇組件時,要加上devel目錄下的make組件,否則無法執行make命令。

²        記得添加windows環境變量,最好將cygwin\bin放到path開頭。

 

4,編譯darknet

進入Cygwin64 Terminal,目錄轉移到F:\test\git-src\darknet-master,然后執行make。

 

 

結束后,會產生darknet.exe、libdarknet.a、libdarknet.so文件。

 

注意:

²        編譯darknet源碼不能采用mingw,要采用cygwin。筆者首先安裝的是mingw組件包,結果在編譯時出現大量頭文件不存心的錯誤。

²         執行make前要先刪除已存在的obj目錄。由於筆者曾經采用過mingw進行編譯,雖然失敗未生成libdarknet.so文件,但obj目錄下生成不少.o目標文件,此時如果直接用cygwin執行make,會出現大量莫名錯誤。如“對‘_XXX’未定義的引用”、/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld: i386 架構於輸入文件 libdarknet.a(shortcut_layer.o) 與 i386:x86-64 輸出不兼容

²         Examples\Go.c 文件需要修改,要加上“#include <sys/select.h>”,否則編譯出錯

 

5,使用darknet

Darknet的使用可參考如下官方網址:https://pjreddie.com/darknet/

 

筆者測試的是最新的yolo V3模型,具體參見:

https://pjreddie.com/darknet/yolo/

 

輸入如下命令:

darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

 

 

 其中“dog.jpg”如下圖所示。YoloV3雖然花費時間28秒久了點,但對圖中的自行車、狗和卡車實現了完美識別。

 

  

打開生成的predictions.png文件如下,至此Yolo在windows上的應用取得成功。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM