Ubuntu16.04+CUDA9.0+cuDNN7.4.2+Anaconda3-5.2.0+TensorFlow-gpu安裝教程

一厂抖、準(zhǔn)備工作

  • 環(huán)境基礎(chǔ): Ubuntu16.04
  • 顯卡: GTX1060
  • 安裝包下載:
  1. cuda:https://developer.nvidia.com/cuda-90-download-archive
  2. cudnn:https://developer.nvidia.com/cudnn 記得注冊(cè)Nvidia賬號(hào)耕蝉,否則不能下載
  3. Anaconda:https://www.anaconda.com/download/

二、安裝流程

  • 安裝系統(tǒng),清理環(huán)境
  • 安裝Nvidia驅(qū)動(dòng)
  • 安裝Cuda&cuDNN
  • 安裝Anaconda和tensorflow-gpu
  • 配置ssh服務(wù)以及遠(yuǎn)程桌面

Tips:cuda9.2版本太高,最新的tensorflow-gpu 1.8也沒(méi)有提供支持 。不合適的CUDA版本會(huì)導(dǎo)致import tensorflow出現(xiàn)錯(cuò)誤搂鲫。在本教程中所安裝的tensorflow是1.12.0版本

三、 安裝系統(tǒng),清理環(huán)境

  • 系統(tǒng)安裝請(qǐng)參照這里
   $ sudo apt-get remove –purge cuda*
   $ sudo apt-get remove –purge nvidia*

四锯岖、安裝Nvidia顯卡驅(qū)動(dòng)

  • 安裝相關(guān)依賴(lài)項(xiàng)
$sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev> libopencv-dev libhdf5-serial-dev protobuf-compiler  
$sudo apt-get install --no-install-recommends libboost-all-dev  
$sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev  
$sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
$sudo add-apt-repository ppa:graphics-drivers/ppa  
$sudo apt-get update

1.懶人做法
? 安裝完上述依賴(lài)之后捶牢,點(diǎn)擊系統(tǒng)設(shè)置->軟件->附加驅(qū)動(dòng)->選擇其中一項(xiàng)驯耻,比如:

Using NVIDIA binary driver-version 3***.** from nvidia-3**(open source)

2.勤勞做法

  • 首先去官網(wǎng)查看適合自己顯卡的驅(qū)動(dòng)
image.png

驅(qū)動(dòng)文件后綴名應(yīng)當(dāng)是以.run結(jié)尾的帘靡。把這個(gè)文件移動(dòng)到home目錄下知给。我的顯卡型號(hào)是GTX1060,系統(tǒng)是linux 64位描姚,按照要求選擇后點(diǎn)擊search.涩赢,點(diǎn)擊下載就好了。我下載后的驅(qū)動(dòng)文件是:NVIDIA-Linux-x86_64-384.98.run轩勘。

注意: 很多問(wèn)題幾乎都是出在顯卡驅(qū)動(dòng)安裝上面筒扒,比如循環(huán)登錄無(wú)法進(jìn)入桌面、運(yùn)行深度學(xué)習(xí)程序出錯(cuò)又不清楚是哪等赃阀。這些問(wèn)題都應(yīng)該首要考慮到是否是顯卡驅(qū)動(dòng)出現(xiàn)問(wèn)題霎肯,解決辦法就是重新安裝顯卡驅(qū)動(dòng)。如下:

$ctrl + alt + f1 #轉(zhuǎn)換到命令行界面榛斯,登陸賬戶(hù)
$sudo service lightdm stop #關(guān)閉圖形界面服務(wù)
$sudo apt-get remove nvidia* #用于卸載程序
$sudo apt-get install nvidia-390 #選擇重新安裝的驅(qū)動(dòng)版本
$sudo sudo service lightdm start #開(kāi)啟圖形界面服務(wù)
$sudo reboot

3.安裝驅(qū)動(dòng)
禁用自帶顯卡驅(qū)動(dòng)观游,在終端下輸入:

$sudo gedit /etc/modprobe.d/blacklist.conf #在其最后一行加上blacklist nouveau
$sudo update-initramfs -u 
$ctrl + alt + f1 #轉(zhuǎn)換到命令行界面,登陸賬戶(hù)
$sudo service lightdm stop #關(guān)閉圖形界面服務(wù)
$cd ~ 
$sudo ./NVIDIA-Linux-x86_64-384.98.run
$sudo sudo service lightdm start #開(kāi)啟圖形界面服務(wù)
$sudo reboot

五驮俗、安裝CUDA&cuDNN

1.安裝CUDA

? CUDA是NVIDIA的編程語(yǔ)言平臺(tái)懂缕,想使用GPU就必須要使用cuda。

(1)下載CUDA

? 首先在官網(wǎng)下載CUDA王凑,選擇自己合適的版本搪柑。 該鏈接界面只顯示最新版本。若需要下載以前的版本索烹,可在頁(yè)面下方點(diǎn)擊Legacy Releases工碾,選擇自己需要的其他版本。

image.png

(2)安裝CUDA

安裝相關(guān)依賴(lài):

$sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

下載完成后執(zhí)行以下命令:

$sudo chmod 7777 cuda_9.0.176_384.81_linux.run
$sudo ./cuda_9.0.176_384.81_linux.run

注意:執(zhí)行后會(huì)先出現(xiàn)一個(gè)聲明百姓,需要閱讀到100%渊额,同意聲明后才會(huì)開(kāi)始安裝.安裝時(shí)首先會(huì)有一系列提示讓你確認(rèn),但是注意垒拢,有個(gè)讓你選擇是否安裝nvidia361驅(qū)動(dòng)時(shí)旬迹,一定要選擇否:

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?

(3)設(shè)置環(huán)境變量和動(dòng)態(tài)鏈接庫(kù)
打開(kāi)~/.bashrc文件: sudo gedit ~/.bashrc 將以下內(nèi)容寫(xiě)入到~/.bashrc尾部:

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
$ sudo gedit /etc/profile

在打開(kāi)的文件末尾加上(“=”前后不要有空格)

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

保存之后創(chuàng)建鏈接文件:

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

文件尾部加上

/usr/local/cuda/lib64

最后在終端輸入以下命令使該鏈接生效:

$sudo ldconfig

(4)測(cè)試CUDA的samples

$cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery 
$sudo make 
$sudo ./deviceQuery
./deviceQuery Starting...
 CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 1060 6GB"
  CUDA Driver Version / Runtime Version          9.2 / 9.0
  CUDA Capability Major/Minor version number:    6.1
  ...
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.2, CUDA Runtime Version = 9.0, NumDevs = 1
Result = PASS

如果顯示一些關(guān)于GPU的信息,則說(shuō)明安裝成功求类。
2.配置cuDNN

(1)下載cuDNN

cuDNN是GPU加速計(jì)算深層神經(jīng)網(wǎng)絡(luò)的庫(kù)奔垦。 首先去官網(wǎng)下載cuDNN,需要注冊(cè)一個(gè)賬號(hào)才能下載尸疆。

image.png

(2)解壓cuDNN

下載cuDNN7.4.2之后進(jìn)行解壓:

$ tar -xvf cudnn-9.0-linux-x64-v7.4.2.24.tgz

(3)復(fù)制并建立軟鏈接
進(jìn)入cuDNN7.4.2 解壓之后的cuda目錄椿猎,在命令行進(jìn)行如下操作:

$cd cuda
$sudo cp include/cudnn.h /usr/local/cuda/include  #復(fù)制頭文件
$sudo cp lib64/libcudnn* /usr/local/cuda/lib64/ 
$cd /usr/local/cuda/lib64/
$sudo ln -s libcudnn.so.7.4.2 libcudnn.so.7 #生成軟銜接(注意這里要和自己下載的cudnn版本對(duì)應(yīng)惶岭,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)
$sudo ln -s libcudnn.so.7 libcudnn.so #生成軟鏈接
$sudo ldconfig -v #更新軟鏈接

六、安裝Anaconda和tensorflow-gpu

1.安裝Anaconda

下載Anaconda鸵贬,點(diǎn)擊這里俗他,選擇下載python3版本脖捻,比如我下載的Anaconda3-5.2.0-Linux-x86_64.sh阔逼。在文件目錄下執(zhí)行:

$bash Anaconda3-5.2.0-Linux-x86_64.sh

最后要將其安裝路徑添加至環(huán)境變量當(dāng)中,之后在終端執(zhí)行

$source ~/.bahsrc 

詳細(xì)步驟參照這里.
2.安裝tensorflow-gpu

這里使用豆瓣源進(jìn)行安裝地沮,地址為https://pypi.douban.com/simple 嗜浮,在終端輸入以下命令進(jìn)行安裝:

$pip -i https://pypi.douban.com/simple tensorflow-gpu==1.2.0 #這里提供1.2.0版本的安裝

然后對(duì)安裝好的tensorflow進(jìn)行測(cè)試

$dc-gpu@dcgpu:~$ python
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
/home/dc-gpu/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
>>> tf.__version__
'1.12.0'
>>> 

如出現(xiàn)以上信息說(shuō)明安裝成功。

七摩疑、配置ssh服務(wù)以及遠(yuǎn)程桌面

1.安裝ssh服務(wù)

(1)安裝

打開(kāi)”終端“危融,輸入

$sudo apt-get update
$sudo apt-get install openssh-server
$sudo ps -e |grep ssh
#回車(chē)-->有sshd,說(shuō)明ssh服務(wù)已經(jīng)啟動(dòng)雷袋,如果沒(méi)有啟動(dòng)吉殃,輸入"sudo service ssh start"-->回車(chē)-->ssh服務(wù)就會(huì)啟動(dòng)鸠删。

(2)使用gedit修改配置文件"/etc/ssh/sshd_config"
打開(kāi)”終端“,輸入

$sudo gedit /etc/ssh/sshd_config
#-->回車(chē)-->把配置文件中的"PermitRootLogin without-password"加一個(gè)"#"號(hào),把它注釋掉-->再增加一句"PermitRootLogin yes"-->保存,修改成功纳账。

2.安裝遠(yuǎn)程桌面
Windowsd電腦遠(yuǎn)程桌面Ubuntu16.04永罚,旨在遠(yuǎn)程圖形界面控制Ubuntu電腦。

(1)Ubuntu端安裝服務(wù)

打開(kāi)”終端“,輸入

$sudo apt-get install xrdp #安裝xrdp
$sudo apt-get install vnc4server #安裝vnc4server
$sudo apt-get install xubuntu-desktop #安裝xubuntu-desktop
$echo "xfce4-session" >~/.xsession #向xsession中寫(xiě)入xfce4-session(每個(gè)用戶(hù)自己運(yùn)行此行)
$sudo apt-get install xinit 
$sudo apt-get install gdm   #彈出選擇窗口饶深,選擇gdm并回車(chē)
$sudo apt-get update        #為下一條命令準(zhǔn)備餐曹,否則下一條命令執(zhí)行錯(cuò)誤。 
$sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal # 安裝gnome桌面
$vim ~/.vnc/xstartup # 修改vnc的啟動(dòng)文件
// "x-window-manager &"改為"gnome-terminal &"
$sudo service xrdp restart #開(kāi)啟xrdp服務(wù)
$vncserver -geometry 2560x1440 #以指定分辨率開(kāi)啟vnc服務(wù)粥喜,登陸方式為ip:5901凸主,首次啟用需要填寫(xiě)密碼
$ifconfig #查看ip地址

(2)windows端控制

  • win + r之后輸入mstsc, 打開(kāi)遠(yuǎn)程桌面额湘。
  • 彈出窗口中輸入用戶(hù)名和密碼點(diǎn)OK卿吐,即可打開(kāi)遠(yuǎn)程桌面。

另:下載vnc客戶(hù)端進(jìn)行登陸锋华,登陸方式為ip:5901嗡官,密碼為首次啟動(dòng)vncserver設(shè)置的密碼。

八毯焕、結(jié)束語(yǔ)

至此衍腥,所有環(huán)境基本搭建完成。在此期間可能會(huì)遇到各種問(wèn)題纳猫,若出現(xiàn)問(wèn)題請(qǐng)自行百度婆咸,網(wǎng)上基本都有解決方案。如有疑問(wèn)請(qǐng)聯(lián)系我qq:741889820芜辕。

致謝

  1. https://blog.csdn.net/u013401766/article/details/78559495
  2. https://blog.csdn.net/jiangyanting2011/article/details/78873113
  3. https://blog.csdn.net/woodcorpse/article/details/80503232
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尚骄,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子侵续,更是在濱河造成了極大的恐慌倔丈,老刑警劉巖憨闰,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異需五,居然都是意外死亡鹉动,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén)宏邮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)泽示,“玉大人,你說(shuō)我怎么就攤上這事蜀铲”吡穑” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵记劝,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我族扰,道長(zhǎng)厌丑,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任渔呵,我火速辦了婚禮怒竿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘扩氢。我一直安慰自己耕驰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布录豺。 她就那樣靜靜地躺著朦肘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪双饥。 梳的紋絲不亂的頭發(fā)上媒抠,一...
    開(kāi)封第一講書(shū)人閱讀 51,775評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音咏花,去河邊找鬼趴生。 笑死,一個(gè)胖子當(dāng)著我的面吹牛昏翰,可吹牛的內(nèi)容都是我干的苍匆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼棚菊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼浸踩!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起窍株,我...
    開(kāi)封第一講書(shū)人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤民轴,失蹤者是張志新(化名)和其女友劉穎攻柠,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體后裸,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瑰钮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了微驶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浪谴。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖因苹,靈堂內(nèi)的尸體忽然破棺而出苟耻,到底是詐尸還是另有隱情,我是刑警寧澤扶檐,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布凶杖,位于F島的核電站,受9級(jí)特大地震影響款筑,放射性物質(zhì)發(fā)生泄漏智蝠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一奈梳、第九天 我趴在偏房一處隱蔽的房頂上張望杈湾。 院中可真熱鬧,春花似錦攘须、人聲如沸漆撞。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)浮驳。三九已至,卻和暖如春限煞,著一層夾襖步出監(jiān)牢的瞬間抹恳,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工署驻, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奋献,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓旺上,卻偏偏與公主長(zhǎng)得像瓶蚂,于是被迫代替她去往敵國(guó)和親撕捍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子涯呻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

推薦閱讀更多精彩內(nèi)容