Yolov3:Ubuntu18下AlexeyAB/darknet的配置

安裝過程中自己踩過一些坑,特此將配置流程記錄下來,希望對后人有所幫助。

由于寫下此文是一時(shí)興起,因此配置過程中沒有留下截圖,本文圖極少,見諒。

在配置環(huán)境前請一定留意darknet的readme文件,由于版本更新,可能導(dǎo)致按網(wǎng)上找到文章的版本配置的環(huán)境并不適合你下載的darknet,導(dǎo)致不明原因的報(bào)錯(cuò)。

AlexeyAB/darknet git地址

我安裝版本的環(huán)境需求:

CMake >= 3.8

CUDA 10.0

OpenCV >= 2.4

cuDNN >= 7.0 for CUDA 10.0

GPU with CC >= 3.0

on LinuxGCC or Clang, on WindowsMSVC 2015/2017/2019


一、硬件

cpu:i7-7700

gpu:gtx1070


二、前期準(zhǔn)備

準(zhǔn)備工作如下:

(1)win10安裝ubuntu18雙系統(tǒng)

(2)安裝顯卡驅(qū)動(dòng)

(3)安裝cuda10.0

(4)安裝cudnn7.6

1、win10安裝ubuntu18雙系統(tǒng)

易踩的坑:

(1)需要注意自己電腦的啟動(dòng)模式,啟動(dòng)模式有uefi與Legacy兩種???

(2)系統(tǒng)語言最好選擇英文。第一次安裝我選擇中文,后可能是顯卡驅(qū)動(dòng)出錯(cuò)在登陸界面反復(fù)橫跳無法進(jìn)入桌面,參照網(wǎng)上方法進(jìn)入tty,結(jié)果中文顯示全部為 ■ ,最后沒辦法解決只能重裝系統(tǒng)。

(3)分區(qū)參考:我總共為ubuntu留了200G空間,其中“/” 20480M,“swap” 16384M,“eif” 512M(引導(dǎo)ubuntu啟動(dòng)),“/home” 剩余空間

(4)Device for boot loader installation(安裝引導(dǎo)啟動(dòng)器的設(shè)備)務(wù)必選擇efi分區(qū)的盤符,否則ubuntu可能無法啟動(dòng)

雙系統(tǒng)安裝過程對于新手較為繁瑣,在此不再贅述,推薦一篇詳細(xì)教程:uefi啟動(dòng)方式詳細(xì)安裝教程

雙系統(tǒng)卸載ubuntu(針對UEFI啟動(dòng)方式)

流程:首先將windows置為首選項(xiàng),并刪除ubuntu的啟動(dòng)項(xiàng),再刪除ubuntu占用分區(qū)。

千萬不要直接刪除分區(qū),會(huì)導(dǎo)致win也無法啟動(dòng)

可以參考這篇文章

(1)下載easyUEFI

(2)將win的啟動(dòng)項(xiàng)置為首位(這一步也可以通過bios調(diào)整)

(3)刪除ubuntu啟動(dòng)項(xiàng)

? 可以通過重啟電腦,看啟動(dòng)的是不是windows檢驗(yàn)前面的設(shè)置是否成功,前面的設(shè)置成功后才能進(jìn)行接下來的操作

(4)磁盤管理器中刪除ubuntu占用磁盤空間,其中efi占用分區(qū)不能直接刪除,方法如下

???????? Step 1 首先win+R打開運(yùn)行,輸入Diskpart

???????? Step 2 輸入list disk,顯示磁盤

???????? Step 3 輸入要?jiǎng)h除EFI分區(qū)所在的硬盤,具體在哪個(gè)盤可以在磁盤管理器中確認(rèn),我的在磁盤0中,輸入select disk 0進(jìn)入磁盤0?

???????? Step 4 輸入list partition,列出磁盤0中的所有分區(qū)

? ? ? ?? Step 5 通過大小和類型確認(rèn)你需要?jiǎng)h除的分區(qū),efi占用分區(qū)類型為系統(tǒng),我發(fā)現(xiàn)分區(qū)8為efi占用分區(qū),輸入select partition 8,選中分區(qū)8

????????? Step 6 輸入delete partition override,刪除分區(qū)8,override是強(qiáng)制刪除分區(qū),必須加上才能刪除

這樣就取回了被ubuntu占用的全部空間。

2、安裝顯卡驅(qū)動(dòng)

?自動(dòng)安裝顯卡驅(qū)動(dòng):

sudo ubuntu-drivers autoinstall

安裝完成后建議重啟電腦

3、CUDA安裝

這里安裝cuda10.0,原因是我一開始安裝的是cuda9.0,make過程中報(bào)classifer.o的錯(cuò),找不到解決方法,將cuda版本換為官方指定的10.0版本后編譯正常。

(1)在官網(wǎng)下載CUDA10.0的runfile文件,此處為鏈接

按個(gè)人實(shí)際選擇

(2)使用sh指令安裝

?sudo sh?cuda_10.0.130_410.48_linux.run

tips:用戶條款可以用Ctrl+C跳過

由于驅(qū)動(dòng)我們已經(jīng)安裝過了,因此這里是否安裝驅(qū)動(dòng)填 n,其余填 y,路徑保持默認(rèn)

補(bǔ)丁也通過sh安裝

安裝完畢后打開.bashrc添加環(huán)境變量

sudo gedit ~/.bashrc

在文件最后添加環(huán)境變量

export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:/usr/local/cuda/extras/CPUTI/lib64

export CUDA_HOME=/usr/local/cuda-10.0/bin

export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME

保存對環(huán)境變量的修改

source ~/.bashrc

至此,cuda安裝完成。

檢測cuda安裝是否成功

cd/usr/local/cuda/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery

最后輸出Result=PASS即安裝成功,若為FAIL可能因?yàn)榘惭b完顯卡驅(qū)動(dòng)后未重啟電腦。

4、cuDNN安裝

官網(wǎng)下載適合自己的版本,需要登陸才能下載,我下載的是v7.6.5,選擇cuDNN Library for Linux

解壓后將文件拷貝到cuda相應(yīng)位置中

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/

sudo chmod a+r /usr/local/cuda/include/cudnn.h

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

至此,準(zhǔn)備工作已全部結(jié)束。


三、Yolov3的配置

從git下載源碼 下載地址

tips:1、直接下載可能很慢繼而出錯(cuò),可以拉到碼云,再從碼云下載;

?????? ? 2、opencv配置起來較為繁瑣,容易出錯(cuò),可直接使用如下命令。

sudoapt-get install libopencv-dev

解壓后按需求修改 darknet/Makefile 文件

GPU=1 ? ? ? ? ? ? ? ? ? ? ? ? ?? #使用CUDA為GPU加速 ??????????????????

CUDNN=1???????????? ? ? ? ? ? #使用cuDNN為GPU加速

OPENCV=1 ? ? ? ? ? ? ? ? ? ? #使用opencv

AVX=0???????????????????????? ? ? #與openmp加速cpu,若出錯(cuò)就置為0

DEBUG=0 ? ? ? ? ? ? ? ? ? ? ? #是否開啟YOLO的debug模式

OPENMP=0 ? ? ? ? ? ???????? #代表編譯過程將引入openmp,可使用多核CPU加速

LIBSO=0 ? ? ? ? ? ? ? ? ?????? #編譯庫darknet.so

ZED_CAMERA=0 ? ?????? #構(gòu)建具有ZED-3D相機(jī)支持的庫(應(yīng)安裝ZED SDK)

...

...

NVCC=/usr/local/cuda-10.0/bin/nvcc??? #修改為你自己的地址

...

...


編譯

make

檢驗(yàn)yolo安裝是否成功

下載權(quán)重文件yolov3.weight???? 官網(wǎng)地址 ?? 網(wǎng)盤地址

將權(quán)重文件復(fù)制到darknet文件夾下,終端輸入:

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

如果你配置了opencv,會(huì)跳出新窗口顯示檢測結(jié)果,如果沒有則會(huì)在darknet文件夾下生成檢測結(jié)果。

如果沒有框可能是因?yàn)椋?/p>

1、weight文件有問題(不知道為什么我的darknet文件夾下有一個(gè)yolov3.weight,可能是下載中斷造成的,使用這個(gè)權(quán)重文件檢測死活沒有框,后來發(fā)現(xiàn)是權(quán)重文件不全,出錯(cuò)的只有7-8M,正確下載下來的應(yīng)該是248M)

2、cfg文件,weights文件或data文件不匹配

非常經(jīng)典的正確的檢測結(jié)果

至此配置工作全部結(jié)束。

這次配置yolov3花費(fèi)了不少時(shí)間,想想看可能是太急躁,執(zhí)行每一步都要想清楚這一步是做什么的。期間重裝ubuntu的過程中甚至根據(jù)不靠譜的教程clean了一個(gè)磁盤,有一些對我來說非常珍貴的照片就此丟失。

配置過程中走了不少彎路,希望大家別走了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容