Deepin(15.7)+Cuda(9.0)+Pytorch(0.4)安裝使用教程

源由

由于需要做分布式的pytorch實(shí)驗(yàn)刑顺,首先需要在本地上進(jìn)行分布式調(diào)試后才便于將pytorch部署到天河二號(hào)中 進(jìn)行實(shí)驗(yàn)础爬,由于最初使用的是Win10系統(tǒng)脖旱,Win10不支持pytorch(0.4)的分布式盼玄,即在python環(huán)境下娩怎,查看下列代碼返回的是False還是True帕识,如果是False泛粹,則說(shuō)明該系統(tǒng)下Pytorch無(wú)法實(shí)現(xiàn)分布式。

import torch
torch._C._has_distributed()

Deepin(15.7)雙系統(tǒng)安裝

1.下載Deepin肮疗,一般可以從官網(wǎng)中獲取最新版本的鏡像資源晶姊,如若想獲取舊版本的Deepin,可以從這個(gè)網(wǎng)站上獲取伪货。
2.利用U盤作為系統(tǒng)安裝的啟動(dòng)盤们衙,可以參考使用Rufus來(lái)制作啟動(dòng)盤钾怔,特別方便。
3.啟動(dòng)盤制作完畢后砍艾,關(guān)機(jī)蒂教,重開(kāi)機(jī),進(jìn)入系統(tǒng)的BIOS設(shè)置界面脆荷,這時(shí)選擇從U盤啟動(dòng)電腦凝垛,就可以順利的進(jìn)入操作系統(tǒng)的安裝界面了,具體的安裝界面引導(dǎo)可以參考官網(wǎng)介紹蜓谋。

Nvidia驅(qū)動(dòng)+Cuda(9.0)+Cudnn

Pytorch是支持GPU的梦皮,并且GPU運(yùn)行深度學(xué)習(xí)能夠極大的提高我們的工作效率和實(shí)驗(yàn)運(yùn)行速度。但使用GPU前桃焕,需要我們安裝相應(yīng)的cuda以及顯卡驅(qū)動(dòng)剑肯。這個(gè)過(guò)程我安裝的時(shí)候踩了挺多的坑,現(xiàn)記錄下來(lái)观堂,僅供參考让网。

Nvidia驅(qū)動(dòng)

1.根據(jù)自己電腦顯卡的型號(hào)下載相對(duì)應(yīng)的顯卡驅(qū)動(dòng)
2.禁用系統(tǒng)自帶的集顯驅(qū)動(dòng)

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
插入兩條語(yǔ)句
blacklist nouveau
options nouveau modeset=0

3.執(zhí)行下列語(yǔ)句师痕,并根據(jù)系統(tǒng)提示補(bǔ)裝包溃睹,可以通過(guò)apt-get的方式補(bǔ)裝。

sudo update-initramfs -u

4.執(zhí)行成功后胰坟,重新開(kāi)機(jī)因篇,在進(jìn)入Deepin系統(tǒng)的選擇界面后,不要選擇直接進(jìn)入系統(tǒng)笔横,界面上有三個(gè)選項(xiàng)竞滓,第一個(gè)是直接進(jìn)入Deepin,第二是進(jìn)入保護(hù)模式吹缔,第三忘了....商佑。這個(gè)時(shí)候需要摁e鍵,進(jìn)入boot parameter參數(shù)設(shè)置界面厢塘,需要更改boot啟動(dòng)參數(shù)茶没,找到Linux開(kāi)頭的那行,在行末添加3和nomodeset俗冻,例如:

linux XXXXXXXXXXXXXX 3 nomodeset

然后根據(jù)提示保存重新boot的。
5.修改正確后牍颈,boot會(huì)進(jìn)入命令行界面迄薄,輸入用戶名和密碼,

關(guān)閉Xwindow服務(wù)
sudo service lightdm stop
進(jìn)入驅(qū)動(dòng)的下載目錄煮岁,執(zhí)行驅(qū)動(dòng)安裝程序即可讥蔽。安裝完畢后重新開(kāi)啟Xwindow服務(wù)后正常重啟涣易。
sudo service lightdm restart
sudo reboot

6.終端檢查驅(qū)動(dòng)是否安裝成功。

nvidia-smi
顯卡驅(qū)動(dòng)安裝成功界面

Cuda(9.0)

1.根據(jù)自己系統(tǒng)的版本號(hào)下載對(duì)應(yīng)的Cuda
2.進(jìn)入安裝包的目錄冶伞,正常運(yùn)行安裝新症,安裝過(guò)程中如若提醒缺少相應(yīng)的.so文件,可以通過(guò)下面的方法補(bǔ)裝相對(duì)應(yīng)的編譯文件响禽。

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

3.安裝過(guò)程中徒爹,由于deepin系統(tǒng)的gcc是7代以上的,而Cuda9.0需要使用低版本的gcc和g++編譯器芋类,那么則需要我們安裝gcc5.5和g++5.5來(lái)進(jìn)行編譯隆嗅,然后再添加軟連接,更改系統(tǒng)默認(rèn)的g++和gcc版本侯繁。

#下載安裝gcc5.5和g++5.5
sudo apt-get install gcc-5 g++-5
#添加軟連接胖喳,更改系統(tǒng)默認(rèn)使用的gcc和g++編譯器
sudo ln -s /usr/bin/gcc-5.5 /usr/local/bin/gcc
sudo ln -s /usr/bin/g++-5.5 /usr/local/bin/g++
#查看系統(tǒng)g++和gcc版本是否已經(jīng)修改成功
gcc --version
g++ --version

4.重新安裝Cuda即可,一般的問(wèn)題都是出在gcc和g++版本過(guò)高以及缺少相應(yīng)的.so文件導(dǎo)致安裝失敗的贮竟,目前我在安裝Cuda的過(guò)程中就只遇到了這兩個(gè)問(wèn)題丽焊。安裝完成之后,添加環(huán)境變量咕别。

gedit ~/.bashr技健,#cuda export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/:$LD_LIBRARY_PATH
#插入下面的語(yǔ)句至文件中
export PATH=/usr/local/cuda-9.0/bin:$PATH
#激活環(huán)境變量
source ~/.bashrc

5.驗(yàn)證Cuda安裝成功

cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make ./deviceQuery
#顯示Pass即表示安裝成功

Cudnn

1.根據(jù)自己的Cuda版本下載對(duì)應(yīng)的Cudnn,我下載的是CuDnn7.1.4顷级。
2.解壓安裝包并安裝凫乖。

#進(jìn)入安裝包目錄
cd Downloads
tar -zxvf cudnn-9.0-osx-x64-v7.tgz
#返回cuda文件夾的上一級(jí)
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib/libcudnn* /usr/local/cuda/lib64
#激活權(quán)限
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
#同樣的添加環(huán)境變量
sudo vim ~/.bashrc
#cudnn 
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
source ~/.bashrc

3.驗(yàn)證CuDNN安裝成功。

nvvc -V
CuDNN安裝成功

基于Anaconda3安裝Pytorch0.4

1.首先選擇喜歡的版本下載Anaconda3弓颈,我使用的是Anaconda3-4.3.1-Linux-x86_64.sh帽芽。
2.正常安裝即可,安裝過(guò)程中可以讓系統(tǒng)幫忙添加路徑也可以自己手動(dòng)添加路徑翔冀。

sudo vim ~/.bashrc
export PATH="/home/user_name/anaconda3/bin:$PATH"
source ~./bashrc
#查看conda是否已安裝成功
conda list
#可以給anaconda3加一個(gè)清華源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
#查看.condarc文件
sudo vim .condarc
#刪除-defaults

3.創(chuàng)建一個(gè)虛環(huán)境导街,在虛環(huán)境下安裝pytorch

#先查看基環(huán)境的名字,有的是叫root纤子,有的是叫base
conda info --envs
#創(chuàng)建虛環(huán)境搬瑰,并且克隆基礎(chǔ)環(huán)境的所有已安裝的包
conda create -n pytorch --clone root(base)
#創(chuàng)建成功后激活虛環(huán)境
source activate pytorch
#退出虛環(huán)境
source deactivate pytorch

4.在虛環(huán)境下安裝pytorch,詳細(xì)教程可以參考pytorch官網(wǎng)控硼,但是按照conda的方法來(lái)安裝泽论,因?yàn)楸粔Φ木壒剩园惭b下載pytorch很慢卡乾,torchvision速度正常翼悴。建議翻墻后直接使用迅雷或者瀏覽器的下載器,下載相對(duì)應(yīng)的pytorch安裝包幔妨,例如pytorch_9.0_gpu鹦赎。
5.驗(yàn)證安裝成功谍椅。

import torch
a = torch.Tensor(2,4)
print (a.cuda())

如果正常顯示,說(shuō)明pytorch可以正常使用古话,并且cuda也是正常的雏吭。

結(jié)語(yǔ)

哈哈哈,第一次寫博客陪踩,有些不詳細(xì)的地方還請(qǐng)大家諒解杖们,其實(shí)初衷還是因?yàn)樽约涸诎惭b的過(guò)程當(dāng)中踩了好多坑,而且網(wǎng)上其他的博客有些寫得跳躍性太強(qiáng)了一點(diǎn)膊毁,自己邊看邊摸索胀莹,雖說(shuō)Linux技能有增長(zhǎng),但還是耽誤了一點(diǎn)點(diǎn)時(shí)間的婚温,希望這篇博文可以幫你們快速解決環(huán)境配置的問(wèn)題描焰,立馬上手pytorch。后面我還會(huì)記錄自己做分布式pytorch(單機(jī)單卡栅螟,單機(jī)多卡荆秦,多機(jī)多卡)這些的攻略,盡請(qǐng)期待啦~

引用

上述內(nèi)容都是從前人的博客啊力图,官網(wǎng)的內(nèi)容啊總結(jié)而來(lái)的步绸,所以也是大家的功勞。

https://blog.csdn.net/pursuit_zhangyu/article/details/79362128
https://blog.csdn.net/cvrszeng/article/details/78314859
https://blog.csdn.net/flyyufenfei/article/details/79187656
https://www.deepin.org/installation/
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末吃媒,一起剝皮案震驚了整個(gè)濱河市瓤介,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赘那,老刑警劉巖刑桑,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異募舟,居然都是意外死亡祠斧,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門拱礁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)琢锋,“玉大人,你說(shuō)我怎么就攤上這事呢灶∥獬” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵鸯乃,是天一觀的道長(zhǎng)鲸阻。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么赘娄? 我笑而不...
    開(kāi)封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮宏蛉,結(jié)果婚禮上遣臼,老公的妹妹穿的比我還像新娘。我一直安慰自己拾并,他們只是感情好揍堰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著嗅义,像睡著了一般屏歹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上之碗,一...
    開(kāi)封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天蝙眶,我揣著相機(jī)與錄音,去河邊找鬼褪那。 笑死幽纷,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的博敬。 我是一名探鬼主播友浸,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼偏窝!你這毒婦竟也來(lái)了收恢?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤祭往,失蹤者是張志新(化名)和其女友劉穎伦意,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體链沼,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡默赂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了括勺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缆八。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖疾捍,靈堂內(nèi)的尸體忽然破棺而出奈辰,到底是詐尸還是另有隱情,我是刑警寧澤乱豆,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布奖恰,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏瑟啃。R本人自食惡果不足惜论泛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蛹屿。 院中可真熱鬧屁奏,春花似錦、人聲如沸错负。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)犹撒。三九已至折联,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間识颊,已是汗流浹背诚镰。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留祥款,地道東北人怕享。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像镰踏,于是被迫代替她去往敵國(guó)和親函筋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354