TL;DR 安裝 Tensorflow 要麼直接用 docker ,要麼用 ubuntu ,用其他發行版搞起 dependency 我覺得很麻煩…
#重灌的乾淨ubuntu
#不用先手動裝驅動
#簡單快速不易失敗
#盡量使用官方套件與教學
前情提要:之前已經寫了一個100k 搭建深度學習個人環境,用 f26 + docker 裝得順順的,想說順手來裝個 python virtualenv 的版本,沒想到踩到了大坑…最後還是裝好了,用的是以下版本
- 硬體:
- Nvidia 1080 Ti 兩張 with 1000W Power
- Intel i7 7700K
- ASUS STRIX Z270F
- 軟體:
- Ubuntu 16.04 with kernel 4.4
- Python 3.5 with virtualenv
- Cuda 8.0
- cuDNN v6.0
- gcc 5.4
- tensorflow-gpu 1.4.0
- driver
375.26381.22
根據 Tensorflow 在 Ubuntu 上的安裝教學 ,大概分成幾個部分,
- 首先要有硬體(廢話),然後要有一張 Compute Capability 3.0 以上的 GPU card,查詢頁面,可以看到 GeForce GTX 1080 Ti 是 6.1 分
- 安裝 CUDA Toolkit 8.0 ,官方安裝教學,下載位址,然後記得設 LD_LIBRARY_PATH 環境變數
- 安裝 cuDNN v6.0 ,官方安裝教學,下載位址(需免費登入),記得設 CUDA_HOME 環境變數
以下分步驟
安裝 apt 套件
|
|
下載並安裝 cuda8
至官網選擇 target platform 如下圖,然後 installer type 選 runfile(local)
|
|
全部都按 yes 或 default 就可以了,第一次可能會安裝失敗,因為 installer 要把 nouveau (開源顯卡驅動) 關掉(設定會寫在 /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
,如果有成功把 nouveau 列入 blacklist ,系統需要 reboot
接著裝 patch
如果前一步有裝好,這步應該很快
(2017/11/9 更新)
更新 driver
根據這篇文章, cuda8 的 driver 是 375.26 ,不支援 GTX 1080 ti,所以我們要升到 381 ,可以透過 $ nvidia-smi
指令查看 driver 的訊息
大概就是一些加 repo 、更新 repo、安裝套件的過程,然後壓下 $ nvidia-smi
可以看到更新後的顯卡訊息
下載並安裝 cuDNN v6.0
Prerequisites:
CUDA 7.5 or higher version and a GPU of compute capability 3.0 or higher are required.
cuDNN 的 Archive 只有從 v6.5 開始列,我們要的 v6.0 要先申請 Nvidia Developer 的帳號,然後根據論壇的帖子找到 v6.0 版本的下載位置,當初也是找了一陣子,截圖紀念一下
我下載的路徑在家目錄,這邊請隨意指定想要放的位置,下載好依序安裝即可
設定環境變數
|
|
設定 virtualenv 並安裝 tensorflow
我使用 virtualenv + virtualenvwrapper 的組合建立 python3 的開發環境,由於 Ubuntu 16.04 自帶 python 3.5 ,我也跟著用 3.5,每個人建立 virtualenv 的習慣不一樣,也許有的人習慣用 native 的環境,如果要參考我的環境,可以看這篇前作,在 Ubuntu 16.04 上建立 Virtualenv,總之 $ python --version
這裡要給一個 3.5,然後我們可以在 tensorflow 的安裝頁面找到對應的 binary url
|
|
如果是用新的 Ubuntu 16.04 安裝,很有可能也會遇到語系設定的問題,pip install 會報錯,可以參考在 Ubuntu 16.04 中設定 locale 環境變數
Hello Tensorflow
進入 python interactive shell,按照官網提供的 validate your installation
安裝完畢,比 fedora 順利多了,不愧是官方支援…接下來會裝一遍 docker 版的,預期不會遇到太大困難…吧 :)