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'
>>>