Ubuntu16.04安裝cuda9.0/10.1+cudann+tensorflow


第一部分cuda9.0

安裝cuda

用runfile方式安裝cuda

官網下載

  • cuda_9.0.103_384.59_linux.run(這個是cuda安裝文件)
  • cudnn-9.0-linux-x64-v7.solitairetheme8(這個是cudann安裝文件,可以理解爲cuda下的一個深度學習庫)

禁用nouveau

a.注意這步很關鍵,首先運行

lsmod | grep nouveau

如果終端中有輸出,則證明該驅動正在運行,需要手動禁掉nouveau,如果有運行下面命令

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

然後往該文本框中寫入

blacklist nouveau

options nouveau modeset=0

b.執行下面語句

sudo update-initramfs -u

c.查看nouveau禁用結果

lsmod | grep nouveau

如果有輸出則表明沒有禁用成功,多試幾次,不過有時候可以嘗試重啓一下機器或者終端(但不要登錄進圖形界面)

重啓電腦

前面說到不能進入圖形界面,在登錄窗口,按Ctrl+Alt+F1進入終端模式,登錄你的賬戶,輸入

sudo service lightdm stop

這步關閉了圖形化界面,接着切換到cuda安裝文件(cuda_9.0.103_384.59_linux.run)的路徑,運行

sudo sh cuda_9.0.103_384.59_linux.run  # 根據版本號更改

注意

  • 出現聲明要看按空格鍵能快速翻頁

  • 運行的時候問是否安裝openGL,選no

  • 其餘的時候遠東yes輸入yes,遇到accept輸入accept

安裝成功後會顯示installed,否則是failed

打開圖形化界面

輸入

sudo service lightdm start

Ctrl+Alt+F7又重回圖形界面了,而且分辨率應該也高了很多。

聲明環境變量

如果是圖形化界面

sudo gedit ~/.bashrc  # 終端就換成sudo vi ~/.bashrc

最最後面加上

export PATH=/usr/local/cuda-9.0/binKaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+:{PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64KaTeX parse error: Expected '}', got 'EOF' at end of input: …LIBRARY_PATH:+:{LD_LIBRARY_PATH}}

保存退出後

source ~/.bashrc

如果要全局有效,還需要在profile寫入

sudo gedit /etc/profile

在這裏面也填入

export PATH=/usr/local/cuda-9.0/binKaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+:{PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64KaTeX parse error: Expected '}', got 'EOF' at end of input: …LIBRARY_PATH:+:{LD_LIBRARY_PATH}}

安裝cudnn

安好了cuda,還需要安裝深度學習庫cudnn(前面提到的cudnn-9.0-linux-x64-v7.solitairetheme8)才能用Tensorflow-GPU版本。

1.如果之前已經安裝了其他錯誤版本的cudnn,先運行下面兩行,否則直接到第2步

sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*

2.修改那個文件的後綴名

cp  cudnn-9.0-linux-x64-v7.solitairetheme8 cudnn-9.0-linux-x64-v7.tgz

3.解壓這個文件

$ tar -zxvf cudnn-9.0-linux-x64-v7.tgz
cuda/include/cudnn.h
cuda/NVIDIA_SLA_cuDNN_Support.txt
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.7
cuda/lib64/libcudnn.so.7.0.4
cuda/lib64/libcudnn_static.a
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/

4.注意這裏是7.0.4版本,進入到cuda路徑

cd /usr/local/cuda/lib64/

在終端輸入下面命令,記得版本號改成自己的,比如上面的7.0.4

$ sudo chmod +r libcudnn.so.7.0.4  
$ sudo ln -sf libcudnn.so.7.0.4 libcudnn.so.7  
$ sudo ln -sf libcudnn.so.7 libcudnn.so  
$ sudo ldconfig  

安裝Tensorflow-GPU

這個不再贅述,如果自己有虛擬環境建議是安裝在虛擬環境中

如果之前安裝過Tensorflow CPU版本要先卸載一下

sudo pip uninstall tensorflow

然後安裝gpu版本

sudo pip install tensorflow-gpu

之後在終端中輸入

python

進入到編輯環境後

import tensorflow as tf

一般沒什麼問題,自己隨便寫個程序,會顯示GPU信息,證明安裝成功了,如果不知道寫什麼程序,可以複製我前面文章GAN的代碼。


第二部分10.1

10.1好像自帶顯卡驅動的集合了,不用像上面再自己裝驅動了
首先下載cuda10.1

wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
sudo sh cuda_10.1.243_418.87.00_linux.run

下載cudnn
打開瀏覽器進到https://developer.nvidia.com/rdp/cudnn-download
下載下面仨

cuDNN Runtime Library for Ubuntu16.04 (Deb)
cuDNN Developer Library for Ubuntu16.04 (Deb)
cuDNN Code Samples and User Guide for Ubuntu16.04 (Deb)

安裝cuda10.1

一鍵式安裝

sudo service lightdm stop  # 安裝驅動需要
chmod 777 cuda_10.1.105_418.39_linux.run
sudo sh cuda_10.1.105_418.39_linux.run
sudo service lightdm start

安裝結束後出現

=========== 
= Summary =
===========

Driver:   Installed
Toolkit:  Installed in /usr/local/cuda-10.1/
Samples:  Installed in /home/hiudawn/, but missing recommended libraries

Please make sure that
 -   PATH includes /usr/local/cuda-10.1/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-10.1/lib64, or, add /usr/local/cuda-10.1/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-10.1/bin
To uninstall the NVIDIA Driver, run nvidia-uninstall

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-10.1/doc/pdf for detailed information on setting up CUDA.
Logfile is /var/log/cuda-installer.log

意味着要把cuda路徑加入環境變量中,可以運行vi ~/.bashrc寫入

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

搞定後再刷新下source ~/.bashrc,就可以運行nvcc -V查看cuda版本了,但接下來還要安裝cudnn

安裝cudnn

大致運行下面命令就行了,感覺比9.0時候的安裝方法nc了不少…

sudo dpkg -i libcudnn7_7.6.3.30-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.3.30-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.3.30-1+cuda10.1_amd64.deb
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章