1. 程式人生 > >升級 CUDA 到 9.0、Tensorflow 到1.6

升級 CUDA 到 9.0、Tensorflow 到1.6

Update
注意,官方編譯的 TF1.6 尚不支援 cuDNN 7.1.x,下載時請選擇 cuDNN 7.0.x。

Tensorflow 最新的 1.6 版本需要 CUDA9.0,原來裝的是 8.0 。這就需要解除安裝一個、安裝一個。
雖然 Linux 核心的系統下刪除軟體給人的印象好像直接刪目錄就可以,但 CUDA 牽扯太多系統層面的東西,所以官方如果有正式解決方案那肯定優先使用。

這裡是說處理安裝衝突的方法,其實一回事。
解除安裝 CUDA 使用:

$ sudo /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl

我要刪除的是 8.0 所以 X = 8, Y = 0

,這樣舊版 CUDA 就解決掉了。最好驅動也一併卸掉,因為新版 CUDA 通常需要裝一個新驅動。

$ sudo /usr/bin/nvidia-uninstall

如果提示沒找到檔案,那就應該

$ sudo yum remove <package_name> # Redhat/CentOS 
$ sudo dnf remove <package_name> # Fedora 
$ sudo zypper remove <package_name> # OpenSUSE/SLES 
$ sudo apt-get --purge remove <package_name> # Ubuntu

下載 CUDA Toolkit 現在需要註冊一個 NVIDIA 官方賬號。註冊完成後在 https://developer.nvidia.com/cuda-release-candidate-download 按照系統、版本選擇要下載的包。cuDNN 的安裝類似,地址在 https://developer.nvidia.com/rdp/cudnn-download 。不過官方文件表示 cuDNN 的升級不會衝突,直接安裝就好。
注意如果要下載 for Ubuntu 版本,需要先安裝 runtime 再安裝 dev,也就是得下載兩個 .deb 。
下載完成後,.deb 的安裝也很簡單。

sudo dpkg -i
cuda-repo-ubuntu1704-9-0-local-rc_9.0.103-1_amd64.deb sudo apt-key add /var/cuda-repo-9-0-local-rc/7fa2af80.pub sudo apt-get update sudo apt-get install cuda
$ export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
$ export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\
                         ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

cnDNN 同樣直接安裝 .deb 檔案,不放心的話在下載的時候可以順便下載一個文件/樣例包安裝,按照

$cp -r /usr/src/cudnn_samples_v7/ $HOME
$ cd  $HOME/cudnn_samples_v7/mnistCUDNN
$make clean && make
$ ./mnistCUDNN

顯示 Test passed! 說明安裝沒有問題。

Tensorflow 1.6 使用 pip 安裝即可。官方頁面還有個安裝 libcupti-dev library 的說明,說這玩意兒提供了高階分析支援,需要 CUDA 8.0 和更新版本。安裝命令是

$ sudo apt-get install cuda-command-line-tools

但我這裡會報錯。上網查了一下對 CUDA 9.0 和更新版本應該使用新名字 cuda-command-line-tools-9-0(對應9.0版)。執行之後沒有報錯,但提示已經安裝過了。可能是 CUDA 9.0 自帶的。

1
1

1