本文方法跟其他文章安裝順序略有不同,保證少走彎路
新的ubuntu16.04的系統安裝好後,把源改成清華源
1.直接安裝最新的anaconda,哪個新就裝哪個,我是這版Anaconda3-5.1.0-Linux-x86_64.sh
sudo bash Anaconda3-5.1.0-Linux-x86_64.sh就好,一路繼續,有一個在~/.bashrc裏面添加環境變量那一塊一定要yes
裝完之後,重啓命令行,再輸入python,就會發現Python 3.6.4 |Anaconda, Inc.,這就說明安裝成功
2.然後也換源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
3.建立並激活Tensorflow環境繼續在命令行輸入:
conda create --name=tensorflow python=3.6,這句話十分好,不管你anaconda安裝的是什麼版本,這裏創建的環境都是按照你設定的python版本安裝的,十分便於安裝多版本python
這裏,由於在Anaconda3安裝的時候,選擇了默認Python3.6版本,因此新建立的tensorflow環境就是基於Python3.6。再輸入:
source activate tensorflow
即可激活tensorflow環境,用deactivate可以取消激活。
4.安裝Tensorflow
在激活tensorflow環境狀態下,輸入:
pip install tensorflow_gpu
會自動選擇目前最新的版本(本文是1.5.0)進行安裝,一路下一步就OK
測試tensorflow獲得應該安裝的cuda和cudnn版本
輸入python後,import tensorflow
這時候會出一大堆報錯,找到cublas後面的版本號,我這裏是9.0,所以我們應該安裝cuda9,至於cudnn可以等到cuda裝完後,再看需要什麼版本再下載。
5.安裝cuda9.0
官網下載,我這裏是cuda_9.0.176_384.81_linux.run,這裏提醒一點,cublas後面是9.0就千萬不要下載9.1,全都是隨着tf報錯走的。
5.1 確認之前的準備工作已經完成
5.2 Disable the Nouveau drivers(禁用nouveau,這一步至關重要!!!)
5.2.1使用以下命令查看Noueau驅動是否被加載了
$ lsmod | grep nouveau
# 如果打印出一些信息,說明Noueau被加載了,正常情況下會打印出一些關於nouveau的信息
5.2.2 Create a file at /etc/modprobe.d/blacklist-nouveau.conf with the following contents:
創建sudo gedit /etc/modprobe.d/blacklist-nouveau.conf,寫入:
blacklist nouveau
options nouveau modeset=0
5.2.3 使配置生效
sudo update-initramfs -u
再次lsmod | grep nouveau,發現沒有輸出
5.3重啓安裝
進入到登錄界面後不要登錄,直接ctrl+alt+f1
停止X服務
sudo /etc/init.d/lightdm stop
運行可執行文件
sudo sh cuda_9.0.176_384.81_linux.run
如果是單顯卡的話,opengl一定選no,否則會循環登錄,其他都按默認來,沒有默認就是y
安裝完成後
check device nodes (檢查設備節點): Check if /dev/nvidia* files exist
。如果沒有的話$ sudo modprobe nvidia
重啓桌面服務
$ sudo service lightdm start
此時能夠登錄,則沒有問題。
5.4安裝後的一系列設置
然後在NVIDIA_CUDA-9.0_Samples裏 make -j4一下
編譯後的二進制文件默認存放在NVIDIA_CUDA-9.0_Samples/bin中。
接着在終端中輸入 :
$ cd bin/x86_64/linux/release
$ ./deviceQuery
結果如下圖所示:看到類似如下圖片中的顯示,則代表CUDA安裝且配置成功,其中 Result = PASS代表成功,若失敗 Result = FAIL此時在ls /dev 裏面就能發現nvidia開頭的三個文件。
然後需要給cuda設置一個環境變量
在系統環境裏設置CUDA的路徑
$ sudo gedit ~/.bashrc # 編輯
~/.bashrc 的最後中添加如下代碼
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:/usr/local/cuda-9.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-9.0
export PATH=/usr/local/cuda-9.0/bin:$PATH
$source ~/.bashrc #配置立即生效
這時執行一下 nvcc -V可以看到顯卡型號
此時,cuda應該已經安裝完畢了,我們還通過之前的方法打開tensorflow,發現依然報錯,這次是缺cudnn的庫,看到版本,我這裏是cudnn7.0
6.安裝cudnn7.0
所以還是去下載,我們找到那個tar.gz的壓縮包,不是power8,別下錯了,power8是一個獨立平臺。,解壓縮後得到cuda文件夾
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
以上步驟都做完後
開一個新的terminal,進入tensorflow,發現已經沒有報錯了,安裝完成。