1. 程式人生 > >Ubuntu16.04LTS安裝NVIDIA驅動+cuda8.0+cudnn5.1+opencv3.2

Ubuntu16.04LTS安裝NVIDIA驅動+cuda8.0+cudnn5.1+opencv3.2

1. 安裝NVIDIA驅動

下載NVIDIA-Linux-x86_64-375.66.run,見官網,下載滿足自己系統以及cuda8.0所要求的驅動版本。
(1)將舊的nvidia驅動卸掉,一般新系統一般不存在nvidia驅動,但是執行一下:

sudo apt-get purge nvidia*

(2)然後卸掉ubuntu自帶的nouveau nvidia驅動,開啟.conf檔案,若沒有此檔案,便自己建立一個。

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

將下述程式碼複製進去

blacklist nouveau
options nouveau modeset=
0

(3)儲存,更新一下

sudo update-initramfs -u

(4)重啟系統,看下nouveau是否被幹掉

lsmod | grep nouveau

如果沒有了很好,按Ctrl+Alt+F1進入tty1介面,使用使用者名稱跟密碼登陸進去,做如下操作:
(1)關閉圖形介面

sudo service lightdm stop

(2)修改驅動檔案許可權

sudo chmod 777 NVIDIA-Linux-x86_64-375.66.run

or

sudo chmod a+x NVIDIA-Linux-x86_64-375.66.run

(3)安裝驅動,括號裡的可要可不要

sudo ./NVIDIA-Linux-x86_64-375.66.run  (-no-opengl-files)

(4)重啟圖形介面

sudo service lightdm start

(5)可以使用nvidia-smi來檢測驅動是否裝好

2. 安裝cuda8.0以及cudnn5.1

cuda8.0

官網上下載對應16.04的runfile(local),注意:一般主頁顯示的是最新版的,可以拉到頁面上有個Legacy release 點選可以看到之前的版本。
下載完,執行:

sudo sh cuda_8.0.61_375.26_linux.run

啟動安裝程式,一直按空格到最後,輸入accept接受條款

  • 輸入n不安裝nvidia影象驅動,之前已經安裝過了
  • 輸入y安裝cuda 8.0工具,回車確認cuda預設安裝路徑:/usr/local/cuda-8.0
  • 輸入y用sudo許可權執行安裝,輸入密碼
  • 輸入y安裝指向/usr/local/cuda的符號連結
  • 輸入y安裝CUDA 8.0 Samples,以便後面測試
  • 回車確認CUDA 8.0 Samples預設安裝路徑,該安裝路徑測試完可以刪除

cudnn5.1

官網下載相應的cudnn的包,然後解壓產生一個cuda目錄,進入此目錄

cd cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/  #複製標頭檔案 
cd ../lib64    #開啟lib64目錄 
sudo cp lib* /usr/local/cuda/lib64/    #複製庫檔案 

接著建立軟連線:

cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so

配置環境變數:

sudo gedit /etc/profile

在末尾處新增:

export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

接著建立連結檔案:

sudo gedit /etc/ld.so.conf.d/cuda.conf 

增加下面一行:

/usr/local/cuda/lib64

儲存後在終端輸入:

sudo ldconfig #使連結生效

##測試

切換到CUDA 8.0 Samples預設安裝路徑(即在NVIDIA_CUDA-8.0_Samples目錄下),終端輸入

sudo make all -j12

完成後繼續向終端輸入

cd bin/x86_64/linux/release
./deviceQuery

出現如下畫面則成功

3. 安裝opencv3.2

(1)更新apt-get(最好更新一下。否則有可能失敗)

sudo apt-get update
sudo apt-get upgrade

(2)安裝依賴(有些可能之前已經裝過)

sudo apt-get -y install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
sudo apt-get -y install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip --fix-missing

(3)下載並解壓opencv安裝包(建議直接手動下載,速度會快一些)

wget https://github.com/Itseez/opencv/archive/3.2.0.zip
unzip opencv-3.2.0.zip

(4)編譯

cd opencv-3.2.0
mkdir build
cd build
cmake ..

在cmake下載過程中可能會出現 ICV:DOWNLONDINGippicv_linux_20151201.tgz但是一直下載不下來,自己可以手動下載ippicv_linux_20151201.tgz並貼上(替換)到目錄opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/, 然後重新執行上述步驟。
(5)安裝

make -j10
sudo make install

(6)把連結寫入配置檔案

sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
sudo apt-get update

(7)測試是否安裝成功

python
>>> import cv2
>>> cv2.__version__
 '3.2.0'
>>>