yolo專屬深度學習框架darknet的安裝記錄

 

darknet開源地址:https://github.com/pjreddie/darknet

darknet作者維護官網:https://pjreddie.com/darknet/

darknet作者給出的安裝教程:https://pjreddie.com/darknet/install/

 

darknet是yolo算法的作者Joseph Redmon使用c語言編寫的一個開源卷積神經網絡訓練框架

如果項目中用到了yolo,darknet框架是你的不二之選

一、Linux下安裝darknet  

 ctrl+T打開一個linux終端,輸入以下命令

git clone https://github.com/pjreddie/darknet.git

這條命令將會從github上克隆darknet最新的版本文件到當前目錄下

你也可以先通過cd命令進入到指定的目錄下,再使用git clone命令

 

 出現錯誤,未安裝git,按照提示進行修復

sudo apt-get update
sudo apt install git

 成功clone到本地,可以在主目錄下看到darknet文件夾


 

 下面開始編譯,先安裝make

sudo apt install make
sudo apt install make-guile

 又出現錯誤了,按照網上教程,刪除這兩個文件

sudo rm -r -f /var/lib/dpkg/lock-frontend
sudo rm -r -f /var/lib/dpkg/lock
sudo rm -r -f /var/cache/apt/archives/lock
sudo rm -r -f /var/cache/apt/archives

 

依次安裝make和make-guile,也可以只安裝make,安裝完成如下

執行make命令,出現錯誤,gcc也沒安裝

原諒這是我是剛安裝好的linux,只安裝了一個搜狗輸入法和wps

sudo apt install gcc

再執行make命令進行編譯,結果發現g++也沒安裝,

此時已經出現了太多的錯誤,但這對於我這樣的新手來說error是家常便飯

根據《論程序員的自我修養》一書,我們也不能摔鍵盤,要靜下心來查錯,繼續安裝

sudo apt install g++

再次執行make,終於成功了

 安裝完成後,darknet文件目錄下多出了一些文件

測試安裝結果

./darknet

當出現圖中所示結果時,說明我們已經能夠使用darknet框架,可以開始yolo訓練之旅了

我們可以先使用imtest例程測試圖像加載和顯示,看一下效果

./darknet imtest data/eagle.jpg

出現了一堆長相一樣的老鷹的圖像,測試成功

根據提示信息,發現我們沒有安裝OpenCV

我們最好安裝一下OpneCv,除非你有理由不想安裝,因爲這樣可以方便的處理各種格式的圖像

如果不安裝OpenCV,直接跳到第三步,也是可以使用darknet的

二、OpenCV安裝

詳細教程可參考:https://www.cnblogs.com/zzy1024/p/11405641.html

執行cd命令,跳轉到指定目錄下

1、從github上克隆OpenCV核心庫到本地

cd ..
git clone https://github.com/opencv/opencv.git

當發現下載速度比較慢的時候可以考慮直接從github上下載zip文件到本地

下載地址:https://github.com/opencv/opencv

 

2、克隆OpenCV的擴展庫OpenCV_Contrib到本地,如果不安裝擴展庫,也是可以使用OpenCV的,但是建議安裝

git clone https://github.com/opencv/opencv_contrib.git

同樣,如果覺得下載過慢,可以直接到github下載zip文件到本地 

github 下載地址:https://github.com/opencv/opencv_contrib

 

移動擴展庫文件到opencv目錄下,並提取文件(解壓)

注意文件名後綴,git clone時沒有master後綴,使用zip下載時有master後綴

 

3、添加opencv所需要的依賴庫

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

第一條命令安裝了一個build-essential庫,可以方便的進行編譯

編譯程序有了這個軟件,它才知道頭文件和庫函數在哪,最後才形成一個開發環境。

第二條命令安裝了一個cmake、git等等軟件,其中cmake是一個跨平臺的編譯工具

第二條命令安裝了一些庫,包括python等等

如果執行第三條安裝命令時出錯,再執行下面的命令解決

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update

 

再執行第三條命令

4、開始編譯OpenCV

在opencv目錄下創建文件夾 build(可以根據自己習慣命名)

cd opencv
mkdir build
cd build

 在編譯前查看opencv_contrib文件夾名稱,如果採用git下載,那就是這個名稱

如果是zip下載後解壓,文件名就是opencv_contrib_master,可以考慮重命名爲opencv_contrib

使用cmake編譯opencv_contrib擴展庫源文件到當前目錄下

注意命令中結尾的擴展庫源文件名要與實際保持一致,請自行確認

cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

 

 編譯成功 

 使用make編譯opencv

cd opencv/build
make

 編譯過程非常漫長,如果處理器有多個核的話,可以使用以下命令加快編譯速度

make -j8

參數8代表使用8核,根據自己的硬件情況選擇 ,make命令默認使用1核

 make編譯成功

 注意:可能會發生internal compiler error: Killed (program cc1plus)錯誤

這是因爲虛擬機內存不足,可以考慮暫時給虛擬機分配大一點的內存,編譯完成後再恢復原來的設置

安裝python接口

sudo apt-get install python-opencv

5、測試安裝結果

python
import cv2

 當沒有出現任何錯誤提示時,表示我們可以在python程序中使用OpenCV了

 

三、yolo下載

 如果安裝了OpenCV,打開darknet目錄下的Makefile文件,將第三行改爲OPENCV=1

在darknet-->cfg目錄下(config的縮寫),可以看到yolo模型各種版本的配置文件

 

只有配置文件還不行,需要下載yolo網絡訓練權重文件

我們下載yolov3的權重文件(已經訓練好的文件),執行以下命令

cd darknet
wget https://pjreddie.com/media/files/yolov3.weights

權重文件237MB左右,同樣,如果覺得下載過慢,可以使用一些下載工具,比如xdown,複製鏈接,下載即可

再從windows下複製粘貼文件到darknet目錄下

當然你可以放在任意位置,但是要記住它的路徑,因爲後面需要用到這個文件

 

回過頭來,在darknet->data文件夾下有幾張示例圖片,比如這張經典的小狗

我們將嘗試使用剛纔下載的yolov3權重文件和yolov3的配置文件對這張小狗進行檢測

運行一下檢測效果

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

 上面的命令表示:運行darknet框架進行檢測,其中

配置文件爲darknet/cfg/yolo3.cfg

權重文件爲darknet/yolov3.weights

待檢測圖片爲darknet/data/dog.jpg

 

輸出檢測圖片默認保存在darknet下

下面是見證奇蹟的時刻

 

識別到三個物體,分別是dog、truck、bicycle,花費時間33秒左右,如果使用GPU,這個時間要短一些

保存的圖片在darknet目錄下,名字爲predictions.jpg

你可以嘗試使用data目錄下的其他圖片進行檢測

 

未完待續,下一節我們將討論yolo模型的一些理論知識

 

附1 xdown下載鏈接(只支持windows):https://xdown.org/

 

 

附2 XDM下載鏈接(支持windows、linux、mac)https://subhra74.github.io/xdm/ 

 安裝命令:

#進入文件所在目錄,根據自己情況修改
cd 下載/xdm-setup-7.2.10

#運行安裝腳本
sudo sh install.sh

 

雙擊啓動XDM

新建一個下載任務,粘貼下載鏈接

 

附3:Chrome瀏覽器的中文翻譯

進行深度學習時,我們不可避免的會瀏覽英文網頁,對於英語基礎不是很好的朋友來說,這似乎是一種痛苦。

所以我推薦使用Chrome瀏覽器,因爲在瀏覽英文網頁時,鼠標右鍵可以看到翻譯中文模式,如下

但是我還是建議大家克服英語的恐懼,從一些常見的單詞慢慢熟悉,通過單詞翻譯軟件,有意識的記憶,

日積月累,英語網頁的閱讀速度會慢慢提高

 

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