Ubuntu18.04+顯示卡驅動安裝+CUDA9.1安裝+cdDNN7.0.5安裝+Anaconda3安裝+tensorflow(GPU)安裝
顯示卡驅動安裝
在終端執行檢視本機NVIDIA顯示卡型號和推薦的驅動程式模型
ubuntu-drivers devices
顯示卡是:GeForce GTX 1080 TI ,建議安裝的顯示卡驅動時nvidia-drivers-396,
再次輸入
sudo ubuntu-drivers autoinstall
安裝完成後重啟電腦即可
安裝驗證:
nvidia-smi
CUDA安裝:
1.版本下載
CUDA需要根據cuDNN來選擇,之前cuda只支援Ubuntu 17.04 \ 16.04 \ 14.04 版本下的安裝(目前已經有ubuntu18.04下的cuda-10.0,但是已經嘗試過,失敗,其他人可以試試),但實際上類似於word,高版本支援低版本,故ubuntu16.04下的配置版本可以順利應用到ubuntu18.04,從而ubuntu18.04可以支援cuda9.0,,因此我們採用cuda9.1版本
最新版本已經到cuda10,cuda9版本到了cuda9.2,我們此次下cuda9.1
點選 CUDA Toolkit 9.1[Dec 2017]
出現如下選擇項:
做出如上選擇,出來如下四個下載項,四個下載項均需要下載,第一個是主檔案,後三個是補丁
下載檔案如下:
2.gcc降級(Ubuntu預裝的gcc版本為7.3,CUDA9.0僅支援gcc6.0以下的版本,故需要將gcc版本降級)
終端輸入:
sudo apt-get install gcc-4.8 sudo apt-get install g++-4.8
裝完後進入:
cd /usr/bin #進入bin目錄下
終端輸入 :
ls -l gcc*
發現 gcc -> gcc-4.8 因為之前做了更改,故已經連結到了gcc-4.8,若出現gcc -> gcc-7.3 則執行如下命令
sudo mv gcc gcc.bak #備份
sudo ln -s gcc-4.8 gcc #重新連結
同理在/usr/bin目錄下輸入
ls -l g++*
此時需要更改使得g++連結到g++-4.8
sudo mv g++ g++.bak sudo ln -s g++-4.8 g++
檢查gcc、g++版本號,看是否連結成功
終端輸入:
gcc -v #檢視gcc版本
g++ -v #檢視g++版本
版本均是gcc version 4.8,故gcc4.8連結成功,安裝成功
3.CUDA安裝,同時安裝其補丁
- 在cuda下載目錄下執行終端輸入命令安裝Base Installer
sudo sh cuda_9.1.85_387.26_linux.run
一直按空格鍵直到100%
如下幾個選項選擇如下:
說明: 由於前面已經安裝了顯示卡驅動,故在
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 387.26?
(y)es/(n)o/(q)uit: n
選擇: n
注意:在之前的的安裝過程中經常出現如下
之前下載的時cuda-8.0和cuda-10.0,安裝到這一步總是不成功,因此在安裝此步的時候一定要注意版本一直等因素,要不然會一直不成功,建議不要輕易嘗試cuda-10.0版本,因為他要求顯示卡驅動>=410版本的,故最好安裝cuda9版本的。
此次安裝成功:
- 接下來安裝3個patch
- 安裝:cuda_9.1.85.1_linux.run
sudo sh cuda_9.1.85.1_linux.run
同理也是空格到100%
-
安裝 cuda_9.1.85.2_linux.run
sudo sh cuda_9.1.85.2_linux.run
同理也是空格到100%
-
安裝 cuda_9.1.85.3_linux.run
sudo sh cuda_9.1.85.3_linux.run
同理也是空格到100%
-
開啟.bashrc檔案
sudo gedit ~/.bashrc
開啟如下;
在檔案最後輸入:
export PATH=/usr/local/cuda-9.1/bin${PATH:+:$PATH}} #注意,根據自己的版本,修改cuda-10.0/9.2/9.0...
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#注意,根據自己的版本,修改cuda-10.0/9.2/9.0...
到此步驟,cuda安裝完畢
cuDNN安裝:
需要註冊下載
檔案儲存到下載目錄,對檔案進行解壓得到
- 複製cudnn解壓後的檔案中的cuda中的include、lib64 到cuda-9.1下
sudo cp cuda/include/cudnn.h /usr/local/cuda-9.1/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.1/lib64
sudo chmod a+r /usr/local/cuda-9.1/include/cudnn.h /usr/local/cuda-9.1/lib64/libcudnn*
- 配置環境變數
桌面終端輸入;
sudo gedit ~/.bashrc
得到如下介面,在最後加入:
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/usr/local/cuda-9.1/lib64:/usr/local/cuda-9.1/extras/CUPTI/lib64”
export CUDA_HOME=/usr/local/cuda-9.1
export PATH="$CUDA_HOME/bin:$PATH"
點選儲存後退出,再在終端執行:
source ~/.bashrc
從而配置完畢。
Anaconda3安裝
我們下載的是Anaconda3-5.2.0-Linux-x86_64
輸入:
bash Anaconda3-5.2.0-Linux-x86_64.sh
按enter鍵繼續
一直按空格到出現選項,
輸入:yes
按 enter鍵
按enter鍵
接下來 輸入 yes
當看到Thank you for installing Anaconda3! 說明安裝成功,後面還會問是否繼續安裝Microsoft VSCode,我們準備用pycharm,故選擇no。
安裝完之後 檢驗是否安裝成功
終端執行:
source ~/.bashrc
conda list
執行結果如下:
命令成功找到,安裝成功
安裝tensorflow(GPU)
- 建立tensorflow環境
先檢查現有的Python版本
接著建立tensorflow環境
conda create -n tensorflow python=3.6
出現如下需要安裝的列表:
輸入y進行下載。
- 啟用tensorflow環境
source activate tensorflow
- 安裝tensorflow
此處要使用pip3進行安裝,這是python3對應的,若之前沒有安裝pip3,則使用
sudo apt-get install python3-pip
然後進行tensorflow的安裝,注意我們是安裝的 tensorflow(GPU)版本
pip3 install tensorflow-gpu==1.8.0
驗證安裝是否成功
在命令列輸入python進入python編譯環境下,接下來居然遇到坑比的事情,測試程式碼錯誤,cuda9.1不支援tensorflow1.8,網上說也不支援1.6\1.5,
輸入: import tensorflow as tf
因此需要解除安裝tensorflow重新安裝,還好mind/wheels是tiny mind開發的為Linux準備的特殊版本的tensorflow,包含支援CUDA9.1的tensorflow。
解除安裝tensorflow1.8
sudo pip3 uninstall tensorflow-gpu
接下來下載tensorflow-1.6的wl安裝檔案
--——————————————————————————————————————————————————————
接下來就再次在Anaconda下配置tensorflow了,但是有遇到了新的麻煩,真想說句媽賣批
首先我是這樣配置的直接在tensorflow下載的目錄下,終端執行:
sudo pip3 install tensorflow-1.6.0-cp36-cp36m-linux_x86_64.whl
提示安裝成功,然後我在tensorflow啟用的狀態下啟動python
source activate tensorflow #啟用tensorflow環境
python #啟動python環境
接下來進行tensorflow安裝是否成功的驗證,
#測試程式碼(在終端一步步執行)
‘’‘
編寫hello world程式掩飾session的使用
建立一個session,在session中輸出hello TensorFlow
’‘’
import tensorflow as tf
#定義一個常量
hello = tf.constant('hello,tensorflow')
#構造階段完成後,才能啟動圖,啟動圖的第一步是建立一個Session物件,如果無任何建立函式,會話構造器將啟動預設圖
sess = tf.Session()
#通過session裡面的run()函式來執行結果
print(sess.run(hello))
當輸入第一步時出現:
問題: ModuleNotFoundError: No module named 'tensorflow'
網上的解決方法都試了不可以用,因此再次解除安裝tensorflow,解除安裝之後檢查目前所存在的內容
which python
which pip
python
python3
接下來在tensorflow啟用環境下進行安裝,這次使用pip,而pip3,然後出現瞭如下問題,也正是此處,解決了所有問題,
首先沒有在下載目錄下安裝,這個顯然是錯誤的,但這個不影響其他的,後期換成在下載目錄下安裝即可,最重要的是這兩句:
You are using pip version 10.0.1, however version 18.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
您正在使用PIP版本100.1,但是版本18是可用的。
您應該考慮通過“PIP安裝升級PIP”命令進行升級。
然後就將pip升級了
pip install --upgrade pip
接下來再次嘗試tensorflow的安裝,在wl檔案所在的目錄下執行終端輸入(再次使用pip,之前一直使用的時pip3)
pip install tensorflow-1.6.0-cp36-cp36m-linux_x86_64.whl
提示我們安裝成功;
然後再次進行程式碼測試,
驗證成功