介紹
本文包括以下幾個(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è)蠢方法解決。
- 先連上網(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)解決方案 sudo service network-manager restart
- 蠢方法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