1. 程式人生 > >ubuntu16.04安裝Nvidia顯示卡驅動,CUDA8.0,cuDNN6,TensorFlow-gpu

ubuntu16.04安裝Nvidia顯示卡驅動,CUDA8.0,cuDNN6,TensorFlow-gpu

Welcome To My Blog
實驗室學姐讓跑一個深度學習模型的程式,需要配置環境,查閱各種資料後安裝成功,記錄一下安裝過程,確實挺刺激,也算是開啟了自己的深度學習之旅了.

安裝Nvidia顯示卡驅動

1. 下載驅動

根據自己的系統和顯示卡型號直接在NVIDIA官網,我是64位ubuntu16.04,顯示卡是1070Ti,安裝的驅動型號是390.67

2. 禁用nouveau第三方驅動

在終端輸入: sudo gedit /etc/modprobe.d/blacklist.conf  
在最後一行新增:blacklist nouveau
改好後執行:sudo update-initramfs -u
重啟後,在終端輸入:lsmod | grep nouveau,沒有輸出則說明禁用成功  

3. 命令列模式下安裝驅動

登出或重啟進入登入介面,Ctrl+Alt+F1進入命令列模式(Ctrl+Alt+F7退出命令列模式)  
禁用X服務:sudo /etc/init.d/lightdm stop
(注意,中文版的ubuntu,在命令列模式下漢字都是亂碼,提前把驅動.run檔案放在一個沒有中文的路徑下) 
cd到下載目錄,給下載的驅動.run檔案賦予可執行許可權:sudo chmod a+x NVIDIA-Linux-x86_64-390.67.run
安裝:sudo ./NVIDIA-Linux-x86_64-390.67.run -no-opengl-files(只安裝驅動檔案,不安裝OpenGL檔案)
如果安裝過程中出現 the distribution-provided
pre-install script failed 繼續安裝即可 開啟X服務:sudo /etc/init.d/lightdm start Ctrl+Alt+F7退出命令列模式,重新入圖形介面(未開啟X服務不能進入圖形介面),在終端輸入:nvidia-smi,顯示顯示卡資訊則安裝成功

安裝CUDA8.0

下載安裝CUDA8.0

官網下載CUDA8.0,install type選擇deb(local)
下載完成後進入安裝包所在資料夾,依次執行下面三句命令進行安裝(安裝過程中不用安裝NVIDIA Graphics Driversl了,已經安裝過了,其餘的均安裝):

sudo dpkg -i
cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb sudo apt-get update sudo apt-get install cuda

配置環境變數

sudo gedit /etc/profile
在末尾加上兩句

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

驗證是否安裝成功

安裝時預設安裝了測試用例,以deviceQuery為例
+ cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
+ sudo make
+ ./deviceQuery
+ 顯示GPU資訊則安裝成功

安裝cuDNN6.0

下載cuDNN

官網下載下面紅框中的三個檔案(需要用NVIDIA賬號登入,用QQ登入即可):
1.png

安裝cuDNN

進入安裝包所在目錄依次執行下面三句命令進行安裝
sudo dpkg -i libcudnn6-doc_6.0.21-1+cuda8.0_amd64.deb
sudo dpkg -i libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb
sudo dpkg -i libcudnn6_6.0.21-1+cuda8.0_amd64.deb

驗證是否安裝成功

安裝時預設安裝了測試用例,以/usr/src/cudnn_samples_v6為例

將這個例子複製到HOME中,執行: sudo cp -r /usr/src/cudnn_samples_v6/ $HOME
進入到HOME下: cd $HOME/cudnn_samples_v6/mnistCUDNN
進行編譯: make make
執行指令碼: ./mnistCUDNN
看到命令列輸出 Test passed! 則安裝成功

安裝gpu版的TensorFlow

我用的是ubuntu16.04自帶的python2.7,安裝的是TensorFlow-gpu-1.4版本,在終端執行:

方法一:
sudo pip install tensorflow-gpu==1.4.0
方法二:
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.4.0-cp27-none-linux_x86_64.whl
sudo pip install --upgrade $TF_BINARY_URL

import時 如果出現libcudnn.6: cannot…的問題

import tensorflow as tf 時報錯:ImportError: libcudnn.6: cannot open shared object file: No such file or directory
我的問題是:cuda的lib64資料夾中沒有libcudnn.6這個檔案,並且我安裝的時cudnn7,看來tensorflow-gpu==1.4.0對應的是cudnn6,不過沒關係,解決方法很簡單
解決方法:
步驟1:在computer中搜索libcudnn,最後在/usr/lib/x86_64-linux-gnu中發現了libcudnn.so.7,將這個檔案複製到/usr/local/cuda/lib64/中
步驟2:更新軟連線:sudo ln -s libcudnn.so.7 libcudnn.so.6
今天使用cudnn7訓練時報錯:Loaded runtime CuDNN library: 7201 (compatibility version 7200) but source was compiled with 6021 (compatibility version 6000),針對tensorflow-gpu==1.4.0還是下載cudnn6吧,更換成cudnn6就正常了