深度學(xué)習(xí)服務(wù)器搭建(ubuntu+cuda+pytorch)

深度學(xué)習(xí)服務(wù)器搭建

1 寫在前面

? ? ? ? 這次搭建服務(wù)器過程中參考了許多網(wǎng)上的資料,看的我眼花繚亂,可惜沒有找到特別適合新人入門的文章舔琅,正好寫一篇比較詳細(xì)的文章留作紀(jì)念洲劣,順便練習(xí)一下我的文筆备蚓。

? ? ? ? 其實(shí)按照別的人教程去裝軟件的最困難的地方就是“我們不一樣”,所以這篇文章可能只能給大家介紹我遇到的幾個(gè)問題我如何去尋找解決方案的一些小小的經(jīng)驗(yàn)吧囱稽。

2 硬件和軟件環(huán)境

2.1 硬件環(huán)境

? ? ? CPU: Intel core i7-8700K

? ? ? GPU: NVIDIA RTX 2080Ti

? ? ? ? 這兩個(gè)PU的型號和后面軟件的安裝有一點(diǎn)點(diǎn)關(guān)系星著,但是影響不大粗悯。

2.2 軟件環(huán)境

? ? ? Linux Ubuntu 16.04?

? ? ? Anaconda python3.7

? ? ? Nvidia driver 418

? ? ? CUDA10.0

? ? ? cuDNN7.5

? ? ? pytorch 1.0

? ? ? ? 其實(shí)遇到的很多問題都是由于各個(gè)軟件之間的版本不是相互對應(yīng)的,所以裝了卸......卸了裝样傍,所以横缔,大家一定要先過一遍整篇文章再動(dòng)手!

3 ubuntu系統(tǒng)安裝

? ? ? 我這里裝的是ubuntu16.04衫哥,過程比較簡單茎刚。可以很容易就找到ubuntu的安裝教程(網(wǎng)上的資料比較全)撤逢。這里需要注意的是:如果是雙硬盤膛锭,記得把另一個(gè)硬盤也掛載到你的系統(tǒng)上蚊荣!

4 Nvidia driver安裝

? ? ? 這一步非常重要而且很關(guān)鍵初狰,NVIDIA驅(qū)動(dòng)的版本號決定了后面許多要安裝東西的版本號互例。

? ? ? 我這里選擇的是安裝時(shí)最新Nvidia driver 418。

? ? ? 安裝驅(qū)動(dòng)網(wǎng)上給過很多種方法媳叨,我比較推薦下面這種,因?yàn)槠渌椒ǘ疾皇呛芎糜谩?/p>


4.1 下載驅(qū)動(dòng)

? ? ? ? 安裝好linux系統(tǒng)打開后糊秆,如果顯示器是插在顯卡上的,會(huì)出現(xiàn)分辨率很低的現(xiàn)象痘番,且無法更改捉片。這一點(diǎn)很難受夫偶,因?yàn)槟銜?huì)發(fā)現(xiàn)你看不全網(wǎng)站的頁面!

? ? ? 出現(xiàn)這個(gè)問題是因?yàn)闆]有安裝英偉達(dá)的驅(qū)動(dòng)兵拢。所以我們第一步就要安裝一個(gè)驅(qū)動(dòng),如果大家有另一臺(tái)電腦说铃,建議大家下好以后拷到ubuntu系統(tǒng)里,因?yàn)榉直媛收娴暮茏屓祟^疼腻扇,不過如果你把HDMI的線插到了集成顯卡上就不會(huì)出現(xiàn)分辨率很低的問題了,但是會(huì)一卡一卡的幼苛。

? ? ? 打開nvidia官網(wǎng),輸入你的顯卡型號和操作系統(tǒng),找到合適的驅(qū)動(dòng)配并,下載就好!下載完成后將驅(qū)動(dòng)的安裝包放在ubuntu系統(tǒng)的根目錄下溉旋,方便后續(xù)操作。

nvidia官網(wǎng)下載驅(qū)動(dòng)

4.2 安裝驅(qū)動(dòng)

1.禁用nouveau

? ? ? 其實(shí)我們在安裝cuda的時(shí)候會(huì)自帶英偉達(dá)顯卡驅(qū)動(dòng)观腊,不需要自己安裝算行。但是梧油,此時(shí)linux系統(tǒng)默認(rèn)啟動(dòng)的是主板自帶的集存顯卡纱意,所以我們要禁用集存顯卡婶溯。

編輯配置文件:

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

在文本的最后一行加入:

blacklist nouveau

執(zhí)行更新:

sudo update-initramfs -u

重啟后執(zhí)行:

lsmod | grep nouveau

如果沒有任何輸出就成功禁用了nouveau

2.進(jìn)入命令行界面并禁用圖像桌面

進(jìn)入命令行界面按:Ctrl+Alt+F1

進(jìn)入后就到了黑白的界面(看起來感覺自己非常厲害M得埂)

先輸入linux用戶名,再輸入密碼类少,然后執(zhí)行來禁用圖像桌面:

sudo /etc/init.d/lightdm stop

3. 安裝英偉達(dá)驅(qū)動(dòng)

這是非常關(guān)鍵的一步,首先進(jìn)入下載好的英偉達(dá)驅(qū)動(dòng)文件夾硫狞,給驅(qū)動(dòng)run文件賦予執(zhí)行權(quán)限:

sudo chmod a+x NVIDIA-Linux-x86_64-418.56.run

注意:NVIDIA-Linux-x86_64-418.56.run 應(yīng)當(dāng)為你驅(qū)動(dòng)的文件名,如果你嫌麻煩残吩,記得一開始就改個(gè)簡單的名字。

安裝英偉達(dá)驅(qū)動(dòng):

sudo sh ./NVIDIA-Linux-x86_64-418.56.run

注意:這一步因?yàn)椴荒軓?fù)制即彪,所以大家一定要看仔細(xì)命令,很容易輸錯(cuò)隶校!

安裝時(shí)全部選yes,路徑就默認(rèn)的選項(xiàng)即可深胳。

執(zhí)行以下指令,返回圖形界面:

sudo /etc/init.d/lightdm start

如果分辨率自動(dòng)修改成顯示器的默認(rèn)分辨率舞终,則表示安裝成功轻庆。

但是权埠!

? ? ? ? 網(wǎng)上其它教程在安裝過程中需要禁用opengl,否則會(huì)出現(xiàn)循環(huán)登陸的問題攘蔽。但是我禁用后呐粘,查看本機(jī)詳細(xì)信息時(shí)并不能看到顯卡型號满俗,又看到某博主說“臺(tái)式機(jī)可以選擇OpenGL”這句話作岖,所以冒了重裝系統(tǒng)的風(fēng)險(xiǎn)嘗試安裝了opengl,如果大家害怕出現(xiàn)循環(huán)登陸的問題痘儡,在安裝時(shí)應(yīng)當(dāng)改為如下命令:

sudo sh ./NVIDIA-Linux-x86_64-418.56.run –no-opengl-files


? ? ? ? 至此,驅(qū)動(dòng)就完美安裝好了渐尿,我大概安了五六次驅(qū)動(dòng),最后一次才覺得按驅(qū)動(dòng)是一件很簡單的事情砖茸。但萬事開頭難,驅(qū)動(dòng)真的是難到了我和另一位很厲害的學(xué)長凉夯!希望大家看到后可以少走彎路~

5 cuda10.0安裝

? ? ? ? 其實(shí)安裝的那一天cuda已經(jīng)出到了10.1采幌,我理所當(dāng)然的就下載了10.1劲够,后來裝到最后才發(fā)現(xiàn)pytorch還沒有出10.1的版本P莅!尊残!所以只好卸載重裝!(用著剛剛出的軟件寝衫,我覺得自己有在做時(shí)代的弄潮兒!)你們看到這篇文章的時(shí)候慰毅,已經(jīng)可以去安裝cuda10.1了~

5.1 下載cuda10.0

? ? ? ? 打開nivida官方網(wǎng)站去下載符合大家版本的cuda吧。

注意:1. 下載runfile版本,因?yàn)閞unfile可以選擇不安裝Nvidia driver东臀。

? ? ? ? ? ? 2. 這個(gè)網(wǎng)站點(diǎn)進(jìn)去后會(huì)讓大家下載最新版的cuda,如果需要舊版本惰赋,去Legacy Releases里去下載。

cuda下載

5.2 安裝cuda

1.進(jìn)入命令行界面并禁用圖像桌面

進(jìn)入命令行界面按:Ctrl+Alt+F1

進(jìn)入后就到了黑白的界面(看起來還是感覺自己非常厲害A薇簟)

先輸入linux用戶名,再輸入密碼拒炎,然后執(zhí)行來禁用圖像桌面:

sudo /etc/init.d/lightdm stop

2.執(zhí)行以下指令挨务,安裝cuda:

sudo sh cuda_10.0.130_410.48_linux.run

注意:

1.cuda_10.0.130_410.48_linux.run應(yīng)當(dāng)為你下載好的cuda的文件名击你,如果你嫌麻煩谎柄,記得一開始就改個(gè)簡單的名字。

2.如果你安裝的是cuda10.0:

? ? ? ? 看協(xié)議時(shí)需要一直按空格鍵或Enter鍵到100%谷誓。當(dāng)詢問是否要安裝Nvidia driver時(shí),一定要選no捍歪!其他的選擇accept和yes,安裝在默認(rèn)目錄就行糙臼。

3.如果你安裝的是cuda10.1:

? ? ? ? cuda10.1做了一個(gè)簡單圖形界面,記得把Nvidia driver前面的那個(gè)“X”去掉1涮印!

3.安裝好后揽乱,執(zhí)行以下指令打開圖形界面:

sudo /etc/init.d/lightdm start

4.執(zhí)行以下指令更改環(huán)境變量,打開:

sudo gedit ~/.bashrc

在里面添加如下環(huán)境變量:

export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}

export? LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

export CUDA_HOME=/usr/local/cuda-10.0

注意:記得把cuda-10.0換成你的版本號

5. 重啟電腦(一定要重啟K鹇!!8Q埂)掏秩,執(zhí)行以下指令查看cuda是否安裝成功:

nvcc -V

如果成功會(huì)輸出詳細(xì)的內(nèi)容荆姆!


棒!你又成功完成了cuda的安裝胆筒!接下來的任務(wù)就比較簡單了~

6. cuDNN的安裝

cuDNN其實(shí)不太需要安裝,就是需要復(fù)制幾個(gè)文件到cuda下面腐泻。

6.1 下載cuDNN

? ? ? ? 同樣從nvidia官網(wǎng)下載cuDNN,需要簡單的注冊派桩。

? ? ? ? 請大家下載這個(gè)版本蚌斩,因?yàn)槲抑粫?huì)按照這本版本安裝......

cuDNN下載

6.2 安裝cuDNN

? ? ? ? 下載好后把文件拖到home里,郵件提取解壓到當(dāng)前文件夾送膳。然后會(huì)出現(xiàn)一個(gè)名字叫cuda的文件夾,我們需要把里面的文件復(fù)制到cuda10.0的文件夾里叠聋。但是linux的usr文件夾不能隨便粘貼復(fù)制的,所以運(yùn)行下面的指令碌补。

cd cuda? ?

sudo cp lib64/lib* /usr/local/cuda/lib64/? ?

sudo cp include/cudnn.h /usr/local/cuda/include/

更新網(wǎng)絡(luò)連接:

cd /usr/local/cuda/lib64/

sudo chmod +r libcudnn.so.5.1.3? # 自己查看.so的版本

sudo ln -sf libcudnn.so.5.1.3 libcudnn.so.5

sudo ln -sf libcudnn.so.5 libcudnn.so

sudo ldconfig

注意:這里的版本號肯定差別較大,建議大家自己打看這個(gè)文件夾搜索一下厦章,不要寫錯(cuò)了。


很簡單吧袜啃,到此,我終于可以:再見nvidia群发,你注冊個(gè)賬號密碼還那么多要求!熟妓!

7 Anaconda的安裝

7.1 下載Anaconda

官網(wǎng)下載linux版本的Anaconda,這個(gè)速度蜜汁快滑蚯,可能是ipv6的原因吧抵栈。

7.2 安裝Anaconda

1.同樣把下載好的文件放到根目錄下坤次,打開終端:

bash anaconda.sh

注意:anaconda.sh是你下載的文件名古劲,可以改一個(gè)比較簡單的缰猴。

? ? ? ? 安裝時(shí)會(huì)問是否繼續(xù)這里輸入“yes”就好了。問配置問題的話直接按回車鍵滑绒,用默認(rèn)的配置就可以了。這樣再打開home疑故,就會(huì)多出一個(gè)anaconda3的文件夾,這就是安裝好的軟件纵势。

這里我們還需要輸入一下指令,更改python的運(yùn)行地址钦铁,因?yàn)長inux是有默認(rèn)的python地址的。

2.執(zhí)行以下指令更改環(huán)境變量牛曹,打開:

sudo gedit ~/.bashrc

在里面添加如下環(huán)境變量:

export PATH=/home/yourname/anaconda3/bin:$PATH

注意:這里需要把第二個(gè)地址改成自己的用戶名。

????????這個(gè)操作后你再輸入python黎比,就會(huì)顯示anaconda3,python3.7焰手,而不是ubuntu自帶的python2了。


? ? ? ? 簡單的anaconda安裝就結(jié)束了书妻,以后可能需要建立一些環(huán)境什么的,還要大家自己去學(xué)習(xí)一下躲履,這一部分我也很懵sorry!

8 pytorch的安裝

? ? ? ? 如果大家運(yùn)氣好的時(shí)候工猜,使用如下命令就可以很順利的安裝pytorch了,畢竟它就是python的一個(gè)庫篷帅。

pip install torch torchvision

????????可惜的是:我下載了很多次都不成功拴泌,真的很崩潰惊橱,不知道大家為什么這么推崇這個(gè)方法。而且如果安裝的pytorch版本很新的話税朴,清華的鏡像源并沒有我們需要的東西,速度真的很慢......而且還不能斷點(diǎn)續(xù)傳U帧!

????????所以這里推薦大家直接去pytorch官網(wǎng)下載whl文件觅廓。

pytorch 下載

下載好后直接:

pip install pytorch.whl

注意:pytorch.whl是你下載文件的名字。

緊接著:

pip install torchvision

這個(gè)比較快杈绸!


如果一切順利的話,我們的基礎(chǔ)環(huán)境配置就結(jié)束了蝇棉!

進(jìn)入python測試一下:

import torch

print(torch.cuda.is_available())

輸出結(jié)果是Ture就大功告成了=嬗馈篡殷!

9 寫在后面

? ? ? ? 環(huán)境的搭建工作稍微告一段落了埋涧,可能有人會(huì)問為什么選擇pytorch而不是tensorflow,其實(shí)我并沒什么偏好棘催,只是當(dāng)時(shí)tensorflow還不支持python3.7。

? ? ? 要特別感謝一個(gè)知乎上博主醇坝,他還回了我的私信,萬分感謝呼猪,這是他的文章,非常感謝他宋距!也要謝謝我麻煩過的那么多學(xué)長,無論是幫過我硬件還是軟件方面的谚赎。如果你們看到了這篇文章诱篷,真的非常感謝雳灵!

ps:如果大家有什么問題棕所,我會(huì)盡力幫大家解決的细办,但是!裝軟件真的是個(gè)玄學(xué)笑撞,也請大家記住,該重啟時(shí)一定重啟茴肥!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市瓤狐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌础锐,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拦宣,死亡現(xiàn)場離奇詭異,居然都是意外死亡信姓,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門豆瘫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人外驱,你說我怎么就攤上這事÷圆剑” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵趟薄,是天一觀的道長典徊。 經(jīng)常有香客問我杭煎,道長,這世上最難降的妖魔是什么羡铲? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮扑媚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘疆股。我一直安慰自己,他們只是感情好旬痹,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著两残,像睡著了一般。 火紅的嫁衣襯著肌膚如雪人弓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天票从,我揣著相機(jī)與錄音滨嘱,去河邊找鬼。 笑死太雨,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的囊扳。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼锥咸,長吁一口氣:“原來是場噩夢啊……” “哼细移!你這毒婦竟也來了搏予?” 一聲冷哼從身側(cè)響起弧轧,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤碗殷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后锌妻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡仿粹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年原茅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吭历。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片员咽。...
    茶點(diǎn)故事閱讀 40,424評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖贝室,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情滑频,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布峡迷,位于F島的核電站,受9級特大地震影響绘搞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜夯辖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蒿褂。 院中可真熱鬧,春花似錦啄栓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至永淌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間遂蛀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工李滴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人所坯。 一個(gè)月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像芹助,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子状土,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評論 2 359

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