Ubuntu NVIDIA+cuda+cudnn+anaconda搭建深度學(xué)習(xí)環(huán)境

介紹

本文包括以下幾個(gè)部分的安裝和使用羊苟,一條龍搭建深度學(xué)習(xí)環(huán)境艰匙,記錄下來(lái)以加快下次裝機(jī)效率现喳。

  • Ubuntu
  • NVIDIA+CUDA+CUDNN
  • Anaconda

Ubuntu系統(tǒng)安裝

制作u盤(pán)啟動(dòng)盤(pán)

下載Multi Boot USB軟件
下載ubuntu系統(tǒng)iso鏡像鞋拟,地址:官網(wǎng)伙判;中科大尽狠;阿里云衔憨;蘭州大學(xué)北京理工大學(xué)袄膏;浙江大學(xué)
原理是把一個(gè)iso系統(tǒng)践图,寫(xiě)入到u盤(pán),在電腦開(kāi)機(jī)的時(shí)候沉馆,通過(guò)u盤(pán)的系統(tǒng)來(lái)啟動(dòng)码党。需要
準(zhǔn)備一個(gè)U盤(pán),如果里面有東西斥黑,先拷出來(lái)備份揖盘。將U盤(pán)格式化為FAT32格式。

運(yùn)行Multi Boot USB軟件锌奴。
select USB disk是選擇目標(biāo)U盤(pán)兽狭,等會(huì)使用該U盤(pán)進(jìn)行啟動(dòng)。
Select image是選擇鏡像文件鹿蜀,安裝該鏡像到系統(tǒng)中箕慧。
下面選MultiBootUSB即可,Persistence不用動(dòng)茴恰。點(diǎn)Install distro颠焦,等待寫(xiě)入完成即可。

安裝系統(tǒng)

開(kāi)機(jī)時(shí)需要選擇boot啟動(dòng)項(xiàng)往枣,要選擇引導(dǎo)帶有USB伐庭、UEFI字樣的啟動(dòng)項(xiàng)。想打開(kāi)選擇boot啟動(dòng)項(xiàng)的界面分冈,筆記本一般按F2圾另,臺(tái)式機(jī)一般按F8和F9,del和F12也有可能會(huì)使用雕沉,不同的電腦不一樣盯捌。可以把F1-12順著按一遍蘑秽。饺著。箫攀。。幼衰。

進(jìn)入到安裝界面之后靴跛,斷網(wǎng)操作,如果聯(lián)網(wǎng)就會(huì)拉慢安裝進(jìn)度渡嚣,會(huì)安裝語(yǔ)言包等不需要的東西梢睛。

進(jìn)入到安裝類型這里,選其他類型识椰,需要分區(qū)绝葡。
EFI分2G,Swap=內(nèi)存大小腹鹉,Ext4分200-500G藏畅。
EFI是系統(tǒng)引導(dǎo)的部分,一般只會(huì)用到幾百M(fèi)功咒;Swap是當(dāng)內(nèi)存不夠時(shí)愉阎,操作系統(tǒng)會(huì)將硬盤(pán)當(dāng)虛擬內(nèi)存使用,所以在0.5-2倍內(nèi)存都可以力奋;Ext4掛在根目錄/上榜旦;如果還有多于的空間,以后可以靈活掛在home上景殷,或者裝其他系統(tǒng)溅呢,靈活處理。
后面直接下一步安裝就可以了猿挚。

然后會(huì)遇到一個(gè)用戶和密碼設(shè)置咐旧,這里可以創(chuàng)建一個(gè)自己的初始用戶。

安裝完成

安裝完成后先把root用戶密碼改一下亭饵,打開(kāi)terminal:sudo passwd,先輸入自己的密碼梁厉,然后輸入想要設(shè)置的root密碼辜羊。

我安裝筆記本時(shí),裝好了但是wifi不能用词顾,應(yīng)該是什么網(wǎng)卡驅(qū)動(dòng)沒(méi)裝的原因八秃,這里給出幾個(gè)蠢方法解決。

  1. 先連上網(wǎng)線肉盹,讓電腦有網(wǎng)昔驱。然后運(yùn)行兩個(gè)命令就可以了。
    sudo apt-get update
    sudo apt-get install --reinstall bcmwl-kernel-source
    查看網(wǎng)卡lspci
    官網(wǎng)對(duì)應(yīng)解決方案
  2. sudo service network-manager restart
  3. 蠢方法2

NVIDIA+CUDA+CUDNN 參考

NVIDIA是顯卡驅(qū)動(dòng)上忍,CUDA是并行運(yùn)算平臺(tái)骤肛,CUDNN是神經(jīng)網(wǎng)絡(luò)平臺(tái)纳本。
查看顯卡型號(hào):
lspci |grep VGA
lspci | grep -i nvidia

下載

先給出3個(gè)網(wǎng)址,需要下載腋颠,CUDA和CUDNN版本要保持一致繁成。
NVIDIA GeForce驅(qū)動(dòng)
NVIDIA Tesla驅(qū)動(dòng)
CUDA
CUDNN 在Ubuntu安裝CUDNN要下載runtime,developer淑玫,doc and sample一共3個(gè)文件巾腕。
下載完畢后,sh文件需要加上運(yùn)行權(quán)限sudo chmod a+x 文件名

NVIDIA安裝

卸載原有驅(qū)動(dòng)

# 如果之前是用apt-get安裝
sudo apt-get remove --purge nvidia*
# 如果之前是用runfile文件安裝
sudo chmod +x *.run
sudo ./原來(lái)安裝的文件名 --uninstall

禁用服務(wù)
sudo gedit /etc/modprobe.d/blacklist.conf
文本最后加上
blacklist nouveau
options nouveau modeset=0
更新
sudo update-initramfs -u

因?yàn)轱@卡需要控制顯示在屏幕上的圖像絮蒿,所以如果圖形界面處于占用狀態(tài)尊搬,安裝驅(qū)動(dòng)是必然會(huì)失敗的。關(guān)閉X-Window服務(wù)土涝。
sudo service lightdm stop
可以重啟一下
reboot
安裝
sudo ./文件名
如果重啟之后還不行佛寿,用sudo init 3,再安裝回铛。
驗(yàn)證方法:nvidia-smi

CUDA

sudo ./文件名
幾個(gè)重要的選項(xiàng)

accept #同意安裝
n # 不安裝驅(qū)動(dòng)狗准,已經(jīng)安裝最新驅(qū)動(dòng)
y # 安裝CUDA Toolkit
<Enter> #安裝到默認(rèn)目錄
y # 創(chuàng)建安裝目錄的軟鏈接
n # 不復(fù)制Samples

驗(yàn)證方法:nvcc -V

CUDNN

# 安裝
sudo dpkg -i runtime文件
sudo dpkg -i developer文件
sudo dpkg -i doc文件

# 驗(yàn)證方法
cp -r /usr/src/cudnn_samples_v7/ /home/wdong/
cd /home/wdong/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN

# 如果成功安裝會(huì)顯示
Test passed!

Anaconda搭建環(huán)境

在裝包的時(shí)候發(fā)現(xiàn)權(quán)限有問(wèn)題茵肃,運(yùn)行下面的指令腔长,將yourname換成自己的用戶名。
sudo chown -R yourname:yourname /home/marley/anaconda3

各個(gè)深度學(xué)習(xí)框架的安裝方法

注:下面帶有超鏈接的是需要點(diǎn)進(jìn)去验残,選擇對(duì)應(yīng)自己系統(tǒng)和環(huán)境的版本進(jìn)行安裝捞附。

  • pytorch
    conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
    這里cudatoolkit=10.0可以直接在10.1的環(huán)境下使用,無(wú)需更改您没。
    如果發(fā)現(xiàn)速度很慢鸟召,刪掉后面的 -c pytorch,并使用命令
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  • tensorflow
    conda install tensorflow-gpu
  • mxnet
    pip install mxnet-cu101
  • keras
    conda install keras

測(cè)試是否可以使用gpu

運(yùn)行下面的代碼氨鹏,并使用nvidia-smi -l 2監(jiān)測(cè)gpu的占用欧募,如果在程序運(yùn)行期間發(fā)生了GPU占用,則說(shuō)明可以正常使用仆抵。

  • pytorch
# -*- coding: UTF-8 -*-

import torch
from torch.autograd import Variable

# 將變量或者數(shù)據(jù)移到GPU
gpu_info = Variable(torch.randn(3,3)).cuda()
# 將變量或者數(shù)據(jù)移到CPU
cpu_info = gpu_info.cpu()
  • tensorflow and keras
import tensorflow as tf
from tensorflow import keras
import numpy as np
import os

# os.environ["CUDA_VISIBLE_DEVICES"] = ""

fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()

model = keras.Sequential([
    keras.layers.Flatten(input_shape=(28, 28)),
    keras.layers.Dense(128, activation=tf.nn.relu),
    keras.layers.Dense(10, activation=tf.nn.softmax)
])

model.summary()

model.compile(optimizer=tf.train.AdamOptimizer(),
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(train_images, train_labels, epochs=10)
  • mxnet
import mxnet as mx
from mxnet import nd
from mxnet.gluon import nn
for i in range(10):
    b = nd.random.uniform(shape=(10000, 10000), ctx=mx.gpu(0))
print(b)
print(mx.cpu(), mx.gpu(), mx.gpu(0))

其他包的安裝

  • opencv
    pip install opencv-python或者pip install opencv-python==3.4.5.20
  • dlib人臉識(shí)別庫(kù)
    以下幾個(gè)東西要先裝好跟继,再能裝dlib,不然報(bào)錯(cuò)镣丑。
    distro:pip install distro
    cmake:sudo apt-get install cmake
    然后執(zhí)行dlib的安裝命令舔糖,其中會(huì)用到cmake編譯源碼,所以要花一點(diǎn)時(shí)間:
    pip install dlib
    裝完了打開(kāi)python運(yùn)行import dlib莺匠,不報(bào)錯(cuò)則成功金吗。
  • tensorboardX
    pip install tensorboardX
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子摇庙,更是在濱河造成了極大的恐慌旱物,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件跟匆,死亡現(xiàn)場(chǎng)離奇詭異异袄,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)玛臂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)烤蜕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人迹冤,你說(shuō)我怎么就攤上這事讽营。” “怎么了泡徙?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵橱鹏,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我堪藐,道長(zhǎng)莉兰,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任礁竞,我火速辦了婚禮糖荒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘模捂。我一直安慰自己捶朵,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布狂男。 她就那樣靜靜地躺著综看,像睡著了一般。 火紅的嫁衣襯著肌膚如雪岖食。 梳的紋絲不亂的頭發(fā)上红碑,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音泡垃,去河邊找鬼析珊。 笑死,一個(gè)胖子當(dāng)著我的面吹牛兔毙,可吹牛的內(nèi)容都是我干的唾琼。 我是一名探鬼主播兄春,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼澎剥,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起哑姚,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤祭饭,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后叙量,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體倡蝙,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年绞佩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了寺鸥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡品山,死狀恐怖胆建,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情肘交,我是刑警寧澤笆载,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站涯呻,受9級(jí)特大地震影響凉驻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜复罐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一涝登、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧市栗,春花似錦缀拭、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至篡腌,卻和暖如春褐荷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背嘹悼。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工叛甫, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人杨伙。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓其监,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親限匣。 傳聞我的和親對(duì)象是個(gè)殘疾皇子抖苦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355