1. 程式人生 > >Ubuntu 18.04上CUDA 9.0、cuDNN7.0及Tensorflow 1.8的安裝

Ubuntu 18.04上CUDA 9.0、cuDNN7.0及Tensorflow 1.8的安裝

http amd64 時間 com ++ dnn 7 清華 配置 示例

配置

筆者使用Dell Inspiron 7559筆記本電腦,顯卡為NVIDIA GTX 960M。

目標

由於本機顯卡僅有nvidia-384驅動包能夠良好支持(nvidia-387、nvidia-390包均在本機出現了系統無法登陸等異常),而CUDA 9.1需要驅動至少為nvidia-387,故選擇安裝CUDA 9.0及cuDNN7.0。
TelsorFlow 1.8完全支持CUDA 9.0因此可以使用最新版。

安裝顯卡驅動

使用apt安裝nvidia-384驅動包(實際安裝驅動為390):

sudo apt-get install nvidia-384

安裝完成後重啟系統。
運行命令

nvidia-smi

若能夠顯示顯卡當前運行狀況(表格)則代表驅動安裝成功。

安裝CUDA 9.0

準備工作

CUDA及TensorFlow體積均較大且下載源在國外,請找到一個良好的網絡環境。可以尋找適當的國內鏡像。
從NVIDIA官網Legacy Releases下載CUDA 9.0版本的.run安裝包(https://developer.nvidia.com/cuda-90-download-archive)。
由於CUDA 9.0僅支持GCC 6.0及以下版本,而Ubuntu 18.04預裝GCC版本為7.3,故手動安裝gcc-6與g++-6:

sudo apt-get install gcc-6 g++-6

之後切換至/usr/bin目錄修改符號鏈接,使GCC 6成為默認使用版本:

cd /usr/bin
sudo rm gcc
sudo ln -s gcc-6 gcc
sudo rm g++
sudo ln -s g++-6 g++

安裝

為CUDA 9.0安裝包賦予運行權限並運行之:

chmod 775 cuda_9.0.176_384.81_linux.run
sudo ./cuda_9.0.176_384.81_linux.run --no-opengl-libs

安裝過程中選擇不安裝驅動,僅安裝CUDA與Samples。若提示"You are attempting to install on an unsupported configuration."選擇y強制安裝(如果前面修改了GCC版本,此處應不報該錯誤)。
安裝完成後若提示安裝失敗,可參考錯誤提示增加--override

參數重新安裝。

測試

進入Samples所在目錄(默認為~/NVIDIA_CUDA-9.0_Samples),運行命令(所需時間較長)

make

(若不願等候太長時間也可進入子目錄單獨make一些示例程序)
若編譯成功(可能有warning)則可以進入bin目錄運行其中的程序。以上皆成功時,則CUDA安裝成功。

安裝cuDNN 7.0

仍從NVIDIA官網下載cuDNN 7.0,註意需要註冊nvidia賬戶才能下載。
之後正常安裝其所有包(筆者使用的是.deb包)

sudo dpkg -i libcudnn7_7.0.4.31-1+cuda9.0_amd64.deb libcudnn7-dev_7.0.4.31-1+cuda9.0_amd64.deb libcudnn7-doc_7.0.4.31-1+cuda9.0_amd64.deb

安裝TensorFlow 1.8

使用pip安裝。若無pip則首先安裝pip:

sudo apt-get install python3-pip
#若Python2則為
#sudo apt-get install python-pip

之後安裝TensorFlow:
由於pip官方源下載速度較慢,可以參考網上辦法修改pip源至國內鏡像,例如清華大學TUNA鏡像

sudo pip3 install tf-nightly-gpu

安裝完成後運行TF示例程序,檢查TensorFlow是否順利運行。

最後的強迫癥

以上步驟均完成後,可將默認GCC版本改回7.3,經筆者實測,應不影響TensorFlow的正常使用。
命令:

cd /usr/bin
sudo rm gcc
sudo ln -s gcc-7 gcc
sudo rm g++
sudo ln -s g++-7 g++

Ubuntu 18.04上CUDA 9.0、cuDNN7.0及Tensorflow 1.8的安裝