顯卡驅動安裝
在終端運行查看本機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版本
cuda下載地址:https://developer.nvidia.com/cuda-toolkit-archive
最新版本已經到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:https://www.anaconda.com/download/
我們下載的是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安裝文件
下載地址:https://github.com/mind/wheels/releases/tag/tf1.6-gpu-cuda91
--——————————————————————————————————————————————————————
接下來就再次在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
提示我們安裝成功;
然後再次進行代碼測試,
驗證成功