在 Ubuntu 18.04 安裝 TensorFlow 1.8.0

Black Swan
5 min readMay 15, 2018

本文同步發表於我的個人網站

最近買了新電腦,遇到一些奇怪問題卡了很久,架環境弄了很久就紀錄一下吧。

先安裝顯示卡驅動程式︰

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-driver-390

裝完後重新開機,執行 nvidia-smi 應該就可以看到顯卡使用狀況︰

據說從官網下載驅動程式在 ubuntu 會有問題,我就沒有去測試了。

接著安裝 cuda 9.0 (官網連結),這邊還沒有 18.04 可以選,選 17.04。

我 patch 1, patch 2 都有裝,都是用 dpkg 裝的:

sudo dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1704-9-0-local-cublas-performance-update_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1704-9-0-local-cublas-performance-update-2_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-9-0

接著安裝 cudnn 7.0.5,一樣到官網下載 (連結)

選 library for linux

下載完是 tgz 檔 cudnn-9.0-linux-x64-v7.tgz,解壓縮後會有這些檔案:

ls cuda/*cuda/NVIDIA_SLA_cuDNN_Support.txtcuda/include:
cudnn.h
cuda/lib64:
libcudnn.so libcudnn.so.7 libcudnn.so.7.0.5 libcudnn_static.a

把 cuda 裡面的資料複製到 /usr/local/cuda-9-0,cp -P 會在複製的時候保留 symbolic link ,最後讓 libcudnn 可以讓所有人有讀取權限:

sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/
sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

安裝 libcupti:sudo apt-get install libcupti-dev

把 cuda path 設到環境變數,可以加到 ~/.bashrc 比較方便:

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

最後,pip 安裝 Tensorflow,目前最新是 1.8.0:

pip install --upgrade tensorflow-gpu

測試:

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

Output:

參考資料:

https://medium.com/@taylordenouden/installing-tensorflow-gpu-on-ubuntu-18-04-89a142325138

https://askubuntu.com/questions/1028830/install-cuda-on-ubuntu-18-04

https://github.com/tensorflow/tensorflow/issues/15817

--

--