1.克隆darknet
官網: https://pjreddie.com/darknet/yolo/
git clone https://github.com/pjreddie/darknet
2.編譯項目
cd darknet
make
3.下載權重
下載預訓練權重文件(download the pre-trained weight fifile)
wget https://pjreddie.com/media/files/yolov3.weights
4.測試
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
目錄darknet下的predictions.jpg是產生的預測結果圖像文件,如下:

因只使用CPU,預測時間較長,超過23秒
5.使用cuda和opencv編譯
cuda安裝參考:https://www.cnblogs.com/liuwenhua/p/11520563.html
本人安裝的是opencv 3.4.4。首先到opencv官網下載opencv-3.4.4.tar.gz。執行以下命令
tar xvf opencv-3.4.4.tar.gz
cd opencv-3.4.4/
cmake .
make
sudo make install
在執行上述的cmake時可根據自己的電腦配置和安裝的opencv版本情況設置命令參數
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D INSTALL_C_EXAMPLES=OFF \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.4/modules \ -D PYTHON_EXCUTABLE=/usr/bin/python \ -D WITH_CUDA=ON \ # 使用CUDA -D WITH_CUBLAS=ON \ -D DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" \ -D CUDA_ARCH_BIN="9.0" \ # 這個需要去官網確認使用的GPU所對應的版本 -D CUDA_ARCH_PTX="" \ -D CUDA_FAST_MATH=ON \ # 計算速度更快但是相對不精確 -D WITH_TBB=ON \ -D WITH_V4L=ON \ -D WITH_QT=ON \ # 如果qt未安裝可以刪去此行;若因為未正確安裝qt導致的Qt5Gui報錯, -D WITH_GTK=ON \ -D WITH_OPENGL=ON \ -D BUILD_EXAMPLES=ON ..
本人使用的cmake命令如下:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.4/modules -D CUDA_GENERATION=Auto -D PYTHON_EXCUTABLE=/usr/bin/python -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_GTK=ON -D WITH_OPENGL=ON -D BUILD_EXAMPLES=ON ..
sudo make install 執行完畢后OpenCV編譯過程就結束了,接下來就需要配置一些OpenCV的編譯環境,首先將OpenCV的庫添加到路徑,從而可以讓系統找到。
sudo gedit /etc/ld.so.conf.d/opencv.conf
執行此命令后打開的可能是一個空白的文件,不用管,只需要在文件末尾添加 /usr/local/lib 執行如下命令使得剛才的配置路徑生效
sudo ldconfig
配置bash
sudo gedit /etc/bash.bashrc
在最末尾添加 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfifig
export PKG_CONFIG_PATH
保存,執行如下命令使得配置生效
source /etc/bash.bashrc
更新
sudo updatedb
修改darknet的Makefifile
GPU=1 CUDNN=1 OPENCV=1
然后執行
make clean
make
6.測試GPU版本的yolo
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
預測時間減少到約0.025秒
darknet安裝完成