安裝順序:
- Opencv
- 顯卡驅動
- CUDA10.2
- cuDnn
- YOLOv3
1、Opencv3.2.0安裝
搭建依賴環境
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
下載Opencv3.2並安裝
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.2.0.zip unzip opencv.zip
此時會生成一個opencv3.2.0文件夾
cd opencv-3.2.0
然后創建一個文件夾
mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. make -j4 make install
執行cmake時,如果卡在了Downloading ippicv_linux_20151201.tgz,可以下載linux_20151201.tgz,
下載地址:https://pan.baidu.com/s/170j3x9zjMyWA6H9k7icpXQ 提取碼: wcg3
然后放在opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e目錄下。
重新執行以下命令cmake命令:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DWITH_IPP=OFF ..
cmake通過后,再執行
make -j4 make install
設置路徑
sudo vim /etc/ld.so.conf.d/opencv.conf
在文件中添加:
/usr/local/lib
保存后執行:
sudo ldconfig
配置環境變量
sudo vim /etc/bash.bashrc
文件末尾添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
2、顯卡驅動安裝
禁用默認驅動
Ubuntu系統集成的顯卡驅動程序是nouveau,它是第三方為NVIDIA開發的開源驅動,需要先將其屏蔽才能安裝NVIDIA官方驅動。將驅動添加到黑名單blacklist.conf中,但是由於該文件的屬性不允許修改,所以需要先修改文件屬性。
查看屬性
sudo ls -lh /etc/modprobe.d/blacklist.conf
修改屬性
sudo chmod 666 /etc/modprobe.d/blacklist.conf
用vim打開
sudo vim /etc/modprobe.d/blacklist.conf
在該文件后添加以下幾行:
blacklist vga16fb blacklist nouveau blacklist rivafb blacklist rivatv blacklist nvidiafb
安裝顯卡驅動
執行命令:
ubuntu-drivers devices
從這里可以看到,系統推薦我安裝435或440版本驅動,我選擇安裝440版本。
#刪除其它驅動
sudo apt-get remove --purge nvidia*
#增加源 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update
然后安裝顯卡驅動:
sudo apt-get install nvidia-driver-440
安裝成功后重啟電腦。
執行命令 nvidia-smi
如果出現如果顯卡列表界面,這顯卡驅動安裝成功。
CUDA10.2安裝
注意:安裝低版本的CUDA,需要對GCC進行降級
進入:https://developer.nvidia.com/cuda-toolkit-archive
點擊CUDA Toolkit10.2后,如圖選擇:
CUDA官網會給出下載和安裝方法,根據官網提示,執行:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub sudo apt-get update sudo apt-get -y install cuda
設置環境變量
sudo vim ~/.bashrc export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
使環境變量生效
source ~/.bashrc
執行:
nvcc -V
出現CUDA版本信息時,說明CUDA安裝成功。
CUDNN安裝
進入:https://developer.nvidia.com/rdp/cudnn-download
注冊賬號並登陸,選擇“Download cuDNN v7.6.5 (November 18th, 2019), for CUDA 10.2”
然后下載“cuDNN Library for Linux”,下載完成后解壓tgz文件,得到一個cuda文件夾:
tar -xzvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
然后復制文件:
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.2/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.2/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
驗證安裝結果:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
出現如圖界面,說明CUDNN安裝成功。
cuDNN第二種安裝方式:
2021-01-19更新:
服務器安裝了CUDA 11.1版本,在安裝cuDNN v8.0.5 for CUDA 11.1時發現,通過下載tgz,解壓復制的方式無法正確的驗證安裝結果,所以采用了以下安裝方式。
下載libcudnn8_8.0.5.39-1+cuda11.1_amd64.deb和libcudnn8-dev_8.0.5.39-1+cuda11.1_amd64.deb
然后執行以下命令,完成安裝:
sudo dpkg -i libcudnn8_8.0.5.39-1+cuda11.1_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.5.39-1+cuda11.1_amd64.deb
YOLOV3安裝
git clone https://github.com/AlexeyAB/darknet
cd darknet
vim編輯Makefile
vim Makefil
將GPU、CUDNN、OPENCV的值改為1,然后執行:
make
編譯完成后,測試一下效果吧
參考網址:
- https://blog.csdn.net/gzj_1101/article/details/78651650
- https://blog.csdn.net/rgd888/article/details/91047780
- https://blog.csdn.net/xiaokan_001/article/details/88126122
- https://blog.csdn.net/debjiu/article/details/80824439
- https://blog.csdn.net/phinoo/article/details/82999337