第一部分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