本片博客的安裝環境是ubuntu16.04系統和已經安裝好的GPU驅動,GPU安裝驅動請自行完成。
安裝好驅動以後執命令查看安裝的驅動版本:html
sudo nvidia-smi
能夠看到個人驅動是384.130版
python
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
注意:在安裝的時候首先要一直按enter鍵完成安裝文檔的閱讀,而後選擇 accept 接下來會出現讓你選擇是否安裝nvidia361驅動,由於前面驅動已經安裝好了,因此這裏要選擇no,不安裝默認驅動ubuntu
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?#就是這裏要選擇no
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
以下圖所示:
網絡
source ~/.bashrc #執行命令使.bashrc文件配置生效
測試cuda是否安裝成功
一樣在/home根目錄下執行下面的命令,測試是否成功安裝CUDA,若執行完命令顯示GPU的相關信息表示安裝成功。
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery #由本身電腦目錄決定 sudo make sudo ./deviceQuery
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腳本文件,文件裏面複製下面的內容進去
#!/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 #對全部的複製和解除權限操做執行生效
而後保存setupcudnn.sh文件的內容,並執行下面的命令進行安裝:
sudo bash setupcudnn.sh #執行setupcudnn.sh腳本中的命令,安裝cudnn
注意:這裏將安裝命令寫成腳本文件的好處是,後面若是要進行其餘cudnn版本的安裝,只要稍加修改這個腳本,而後運行就能夠迅速完成安裝。例如要安裝cudnn7版本,下載cudnn7,解壓文件重命名爲cudnn7,把腳本文件裏的cudnn6修改成cudnn7,而後執行sudo bash setupcudnn.sh 就完成了安裝。
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
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
備註:出現上面的錯誤信息的緣由是使用CUDA配置opencv引發的。將HAVE_CUDA 設爲0以後,在後面的編譯過程當中就會關閉CUDA,解決這個問題。
進入到opencv
目錄下,找到CMakeList.txt
文件並打開,定位到176,177行,將ON
改成OFF
。
opencv
目錄下新建build
文件夾。cd build #進入到build文件夾 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. #開始編譯 make -j8 sudo make install -j8
執行完上面的命令就完成了opencv的安裝,執行下面的命令測試是否安裝成功,若是不出現報錯信息就說明安裝成功。
python import cv2
備註:
錯誤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*
就能夠查找缺失的某個庫文件,從而爲解決問題尋找思路。/usr/lib/,/usr/bin/,/usr/share/,/usr/include/,/usr/include
刪除含有OpenCV的文件夾便可。darknet的安裝
yolov3是在darknet平臺上實現的,darknet安裝教程按照官網步驟就能夠了,官網連接https://pjreddie.com/darknet/install/
git clone https://github.com/pjreddie/darknet.git #從github上下載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
目錄下,執行make -j8
darknet
目錄下,執行wget https://pjreddie.com/media/files/yolov3.weights #下載權重文件 ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg #使用下載的權重文件進行圖片檢測
運行成功後會出現下面的圖片,並在darknet
目錄下生成predictions.png
文件
至此教程結束。