1. 程式人生 > >Ubuntu18.04+顯示卡驅動安裝+CUDA9.1安裝+cdDNN7.0.5安裝+Anaconda3安裝+tensorflow(GPU)安裝

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

 提示我們安裝成功;

然後再次進行程式碼測試,

驗證成功