天天看點

Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3-4.2.0, tensorflow-gpu 1.4.0Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

@Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

最近入門深度學習, 從一開始裝Ubuntu系統到最後tensorflow安裝并能夠成功導入花費了好幾天時間, 踩了不少坑。這篇部落格應該算是參考了許多許多教程并根據産生的問題分析總結出來的, 分享給大家避免踩坑。

安裝NVIDIA驅動:

第一步:查找适合自己顯示卡的驅動

打開英偉達官網并在上方找到驅動程式, 在下拉菜單中點選“所有NVIDIA驅動程式”, 打開後在其中選擇電腦的顯示卡來找到合适的驅動程式。

Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3-4.2.0, tensorflow-gpu 1.4.0Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

不知道電腦的是什麼顯示卡的話:點選電腦右上角小齒輪–>系統設定–>系統–>軟體與更新–>附加驅動。方括号裡就是顯示卡型号。

Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3-4.2.0, tensorflow-gpu 1.4.0Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

#附上第一步的網址:第三步:解除安裝原有所有顯示卡驅動程式, 并且禁用nouveau

#一定要解除安裝幹淨

#之前使用apt-get安裝

sudo apt-get remove --purge nvidia*

#之前使用.run檔案安裝, 找到檔案名并複制下來(手打也可以, 不打錯的話)

Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3-4.2.0, tensorflow-gpu 1.4.0Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

sudo chmod +x *.run

sudo ./NVIDIA-Linux-x86_64-418.74.run(這裡是剛剛複制的檔案名) --uninstall

#禁用nouveau

sudo gedit /etc/modprobe.d/blacklist.conf

在打開的文檔最後新開始一行, 輸入:blacklist nouveau。然後儲存, 關閉

sudo update-initramfs -u

然後重新開機電腦

第四步:檢查禁用nouveau是否成功

#運作指令後無輸出則說明成功

lsmod | grep nouveau

#如果沒有禁用成功請一定要成功禁用以後再開始後續步驟

第五步:開始安裝顯示卡驅動(此時最好是在手機或者别的電腦上看教程)

#記住顯示卡驅動程式檔案的儲存位址和檔案名, 最好用手機拍下來

#禁用X服務的時候電腦會黑屏并且隻有光标在閃, 不要恐慌哈哈哈

#當然也可以先開指令行再禁用X服務, 先禁用是為了確定關閉了X服務

#開啟X服務sudo service lightdm start

#關閉X服務sudo service lightdm stop

sudo service lightdm stop

#Ctrl+Alt+F1打開指令行

#Ctrl+Alt+F7關閉指令行

按Ctrl+Alt+F1打開指令行, 輸入賬号密碼登入

#path是顯示卡驅動程式檔案的儲存位址

#name是顯示卡驅動程式檔案的檔案名

cd path

sudo chmod a+x name

sudo ./name –no-opengl-files

#重新開機

reboot

重新開機後輸入指令:nvidia-smi

Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3-4.2.0, tensorflow-gpu 1.4.0Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

顯示這樣就算安裝成功了(雖然不知道為什麼裝的是418.74顯示的是418.67, 不過後續步驟都沒有問題, 也就沒去糾結了)

安裝CUDA8.0

第一步:下載下傳CUDA8.0的runfile檔案

#敲黑闆劃重點, 千萬千萬要下載下傳runfile

#如果用deb安裝後面自動給你更新到10.1就等着哭吧

Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3-4.2.0, tensorflow-gpu 1.4.0Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

附上下載下傳頁面連結:https://developer.nvidia.com/cuda-80-ga2-download-archive

第二步:安裝CUDA8.0

#path是cuda8.0.run檔案的儲存位址

#name是cuda8.0.run檔案的檔案名

cd /path

sudo chmod 777 name

sudo ./name

這裡要等一大會兒

然後出現文檔, 按Enter鍵到最後, 然後輸入accept, 然後提示是否安裝NVIDIA驅動(看到NVIDIA Deiver)的時候輸入n, 後面的其他都輸入y

第三步:配置環境變量

#bashrc檔案的配置

sudo gedit ~/.bashrc

在打開的文檔最後換行, 輸入:

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
           

#如下圖所示

Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3-4.2.0, tensorflow-gpu 1.4.0Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

儲存, 關閉

source ~/.bashrc

#profile檔案配置

sudo gedit /etc/profile

在打開的文檔最後換行, 輸入:

PATH=/usr/local/cuda/bin:$PATH
export PATH
           

儲存, 關閉

source /etc/profile

#添加lib庫路徑

sudo gedit /etc/ld.so.conf.d/cuda.conf

在打開的文檔輸入:

/usr/local/cuda/lib64
           

儲存, 關閉

sudo ldconfig

#測試一下是否安裝成功

nvcc -V

Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3-4.2.0, tensorflow-gpu 1.4.0Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

最後一行顯示release 8.0則安裝成功

安裝cuDNN6.0

cuDNN的安裝相對簡單很多, 首先進入cuDNN的下載下傳頁面, 出現很多版本的清單

Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3-4.2.0, tensorflow-gpu 1.4.0Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

點選第三個, 也就是"cuDNN v6.0 Library for Linux"

然後新增賬號什麼的, 最後就可以下載下傳了

附上下載下傳頁面連結:https://developer.nvidia.com/rdp/cudnn-archive

下載下傳完成後, 應該是.tgz字尾的檔案, 進入終端

#path是cuDNN檔案的儲存位址

#name是cuDNN檔案的檔案名

cd path

tar zxvf name

#path_cuda是cuda檔案位址

sudo cp path_cuda/include/cudnn.h(此處有空格) /usr/local/cuda/include

sudo cp -a path_cuda/lib64/libcudnn*(此處有空格) /usr/local/cuda/lib64

安裝完成

可通過檢視cuDNN版本驗證是否安裝成功

檢視cudnn版本

安裝Anaconda3-4.2.0

為什麼要安裝Anaconda3呢, 因為安裝tensorflow-gpu之前要安裝Anaconda3#滑稽

Anaconda3-4.2.0官方下載下傳位址:https://repo.anaconda.com/archive/Anaconda3-4.2.0-Linux-x86_64.sh

Anaconda各版本官方下載下傳清單頁面:https://repo.anaconda.com/archive/

下載下傳完成後進入終端

#path是Anaconda3-4.2.0檔案的儲存位址

#name是Anaconda3-4.2.0檔案的檔案名

cd path

bash name

按回車閱讀文本直到提示Do you accept the license terms? [yes|no]

輸入yes

然後提示安裝路徑, 可以自定義, 我是預設的。

然後提示是否設定環境變量, 輸入y, 除非你想再多忙活一陣子

就安裝好啦

可以通過關閉終端, 再打開終端, 輸入python來驗證是否安裝成功

Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3-4.2.0, tensorflow-gpu 1.4.0Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

顯示Anaconda 4.2.0就說明安裝成功了

注意事項:

雖然Anaconda的安裝很容易, 但是安裝完之後我們需要注意的就是Anaconda自帶一個Python, 輸入python之後顯示是Anaconda就說明了這個問題。不僅如此, Anaconda還自帶了pip, 這就是安裝完Anaconda之後通過pip安裝tensorflow成功卻提示找不到包的原因所在。

安裝tensorflow-gpu 1.4.0

了解了上面的注意事項之後, 安裝tensorflow就變得簡單起來。

打開終端

pip -V

pip3 -V

pip2 -V

Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3-4.2.0, tensorflow-gpu 1.4.0Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

現在我的系統上pip和pip3是同一個, 但是之前通過pip3安裝的時候提示找不到庫, 估計是最近更新設定什麼導緻的。

是以要找到屬于anaconda3目錄下的pip, 如果嘗試了這幾個顯示都是來自系統的, 那麼進入anaconda的目錄, 嘗試pip -V

#進入anaconda目錄

cd anaconda3/bin

#檢視pip版本

ls pip*

pip3 -V

Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3-4.2.0, tensorflow-gpu 1.4.0Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

#如果顯示anaconda往下繼續, 否則根據Ubuntu中多版本anaconda與Python的pip管理設定好pip

sudo pip3 install tensorflow-gpu==1.4.0

等待安裝完成即可

最後驗證一下安裝是否成功

進入終端

python

import tensorflow

沒有報錯說明安裝成功

Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3-4.2.0, tensorflow-gpu 1.4.0Ubuntu16.04 安裝NVIDIA驅動,CUDA8.0, cuDNN6.0, Anaconda3, tensorflow-gpu 1.4.0

正常情況下到這裡應該都是順利完成的, 如果系統是剛剛裝好的卻沒有成功請檢查每一步有沒有遺漏。不要中途開始使用本教程, 比如安裝CUDA8.0的時候我沒有降gcc的版本也沒有關閉圖形界面, 因為5.4的gcc可以支援CUDA8.0并且在上一步已經把驅動正常安裝了。如果新裝的系統使用這個教程的時候遇到什麼問題可以給我留言, 我可以回憶回憶當時是發生了什麼最後怎麼解決的。

繼續閱讀