ubuntu16.04+CUDA8.0+GTX1080Ti+yolo3詳細配置

本片博客的安裝環境是ubuntu16.04系統和已經安裝好的GPU驅動,GPU安裝驅動請自行完成。
安裝好驅動以後執命令查看安裝的驅動版本:html

sudo nvidia-smi
  • 1

能夠看到個人驅動是384.130版
這裏寫圖片描述python

1. 安裝CUDA

cuda的下載linux

我這裏選擇cuda-8.0.44進行下載。這個是下載cuda的連接地址:https://developer.nvidia.com/cuda-80-download-archive
下載下來的文件放到/home目錄下,你們也能夠選擇適合本身電腦的CUDA版本進行下載。
這裏寫圖片描述git

cuda的安裝github

執行下面的命令進行安裝:shell

sudo sh cuda_8.0.44_linux.run
  • 1

注意在安裝的時候首先要一直按enter鍵完成安裝文檔的閱讀,而後選擇 accept 接下來會出現讓你選擇是否安裝nvidia361驅動,由於前面驅動已經安裝好了,因此這裏要選擇no,不安裝默認驅動ubuntu

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?#就是這裏要選擇no
  • 1

cuda環境的配置vim

打開~/.bashrc 文件,並添加3句命令到文件的末尾。bash

sudo vim ~/.bashrc         #打開.bashrc文件

export CUDA_HOME=/usr/local/cuda-8.0    #將export這3句添加到文件的末尾。
export PATH=$PATH:${CUDA_HOME}/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${CUDA_HOME}/lib64
  • 1
  • 2
  • 3
  • 4
  • 5

以下圖所示:
網絡

source ~/.bashrc   #執行命令使.bashrc文件配置生效
  • 1

測試cuda是否安裝成功

一樣在/home根目錄下執行下面的命令,測試是否成功安裝CUDA,若執行完命令顯示GPU的相關信息表示安裝成功。

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery #由本身電腦目錄決定
sudo make
sudo ./deviceQuery
  • 1
  • 2
  • 3

2. 安裝cudnn

cudnn的安裝更加簡單,其實就是複製文件和創建軟鏈接。

cudnn的下載

cudnn的下載連接以下,須要註冊,而後再登陸進去,選擇適合本身的版本下載
https://developer.nvidia.com/rdp/cudnn-download
我這裏下載的是cudnn6.0版本的,登錄進去以後選擇Archived cuDNN Releases 而後選擇cudnn v6.0…for CUDA 8.0下載
這裏寫圖片描述
這裏寫圖片描述

cudnn的安裝

下載完成以後解壓到/home目錄下,文件夾重命名爲cudnn6,而後執行下面的命令進行安裝

vim setupcudnn.sh    #新建一個shell腳本文件,文件裏面複製下面的內容進去
  • 1
#!/bin/bash

echo "remove libcudnn* file of /usr/local/cuda/lib64"
sudo rm -rf /usr/local/cuda/lib64/libcudnn.s*   #刪除舊版本cudnn

echo "copy cudnn.h to usr/local/cuda/include"
sudo cp /home/user_name/cudnn6/include/cudnn.h /usr/local/cuda/include   #複製cudnn.h文件到/usr/local/cuda/include目錄下,這裏的user_name改成本身的用戶名
sudo chmod 777 -R /usr/local/cuda/include    #對複製後的文件解除權限

echo "copy lib* to usr/local/cuda/lib64"
sudo cp /home/user_name/cudnn6/lib64/lib* /usr/local/cuda/lib64    #同上
sudo chmod 777 -R /usr/local/cuda/lib64    #同上

sudo ldconfig   #對全部的複製和解除權限操做執行生效
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

而後保存setupcudnn.sh文件的內容,並執行下面的命令進行安裝:

sudo bash setupcudnn.sh   #執行setupcudnn.sh腳本中的命令,安裝cudnn
  • 1

注意:這裏將安裝命令寫成腳本文件的好處是,後面若是要進行其餘cudnn版本的安裝,只要稍加修改這個腳本,而後運行就能夠迅速完成安裝。例如要安裝cudnn7版本,下載cudnn7,解壓文件重命名爲cudnn7,把腳本文件裏的cudnn6修改成cudnn7,而後執行sudo bash setupcudnn.sh 就完成了安裝。

3. 安裝Opencv3.1.0

opencv的下載

下載地址https://opencv.org/releases.html
選擇3.1.0版本sources下載,解壓到/home根目錄下,文件夾重命名爲opencv
這裏寫圖片描述

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
  • 1
  • 2
  • 3
  • 修改opencv編譯配置文件
    進入到opencv/cmake 目錄下,找到OpenCVDetectCUDA.cmake文件並打開,定位到21行,修改set(HAVE_CUDA 1)set(HAVE_CUDA 0)
    這裏修改的目的是爲了不後面執行sudo make install出現以下的錯誤信息。
nvcc warning : The 'compute_20', 'compute_20','sm_21' architectures are deprecated
  • 1

備註:出現上面的錯誤信息的緣由是使用CUDA配置opencv引發的。將HAVE_CUDA 設爲0以後,在後面的編譯過程當中就會關閉CUDA,解決這個問題。

進入到opencv 目錄下,找到CMakeList.txt文件並打開,定位到176,177行,將ON改成OFF

  • 安裝opencv
    opencv目錄下新建build文件夾。
cd build    #進入到build文件夾
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..    #開始編譯
make -j8   
sudo make install -j8
  • 1
  • 2
  • 3
  • 4

執行完上面的命令就完成了opencv的安裝,執行下面的命令測試是否安裝成功,若是不出現報錯信息就說明安裝成功。

python
import cv2
  • 1
  • 2

備註:

錯誤1: fata error: LAPACKE_H_PATH-NOTFOUND when building OpenCV 3.1
解決辦法:sudo apt-get install liblapacke-dev checkinstall
在安裝的過程當中可能還會還會出現其餘各類各樣的錯誤信息,這就靠本身依靠網絡資源尋找解決方案了。通常從報錯的信息提示入手,不斷的卸載,安裝,不斷的嘗試不一樣的方法,問題都會解決的。
小技巧:

  • 在安裝過程當中若出現不明問題,能夠執行sudo find / -iname "*opencv*查找opencv安裝路徑,把*opencv*替換成*lib*就能夠查找缺失的某個庫文件,從而爲解決問題尋找思路。
  • 卸載opencv,通常是先刪除下載下來的opencv文件夾,而後進入到/usr/lib/,/usr/bin/,/usr/share/,/usr/include/,/usr/include刪除含有OpenCV的文件夾便可。

4. 安裝yolov3

darknet的安裝

yolov3是在darknet平臺上實現的,darknet安裝教程按照官網步驟就能夠了,官網連接https://pjreddie.com/darknet/install/

git clone https://github.com/pjreddie/darknet.git    #從github上下載darknet安裝包
  • 1
  • darknet的MakeFile配置
    進入到下載下來的darknet文件夾下,打開Makefile,對以下幾個地方進行修改
    這裏寫圖片描述
    這裏寫圖片描述

備註

這裏的ARCH= -gencode arch=compute_61,code=[sm_61,compute_61]根據本身的GPU型號的計算能力進行設置,能夠經過下面連接查找GPU的計算能力。GTX1080Ti的計算能力是6.1,因此設置爲61,其餘型號的對照修改吧。
https://developer.nvidia.com/cuda-gpus
這裏寫圖片描述

  • darknet的安裝
    darknet目錄下,執行
make -j8
  • 1
  • darknet的測試
    一樣在darknet目錄下,執行
wget https://pjreddie.com/media/files/yolov3.weights   #下載權重文件
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg  #使用下載的權重文件進行圖片檢測
  • 1
  • 2

運行成功後會出現下面的圖片,並在darknet目錄下生成predictions.png文件
這裏寫圖片描述

至此教程結束。

相關文章
相關標籤/搜索