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

介紹

本文包括以下幾個部分的安裝和使用,一條龍搭建深度學(xué)習(xí)環(huán)境,記錄下來以加快下次裝機效率。

  • Ubuntu
  • NVIDIA+CUDA+CUDNN
  • Anaconda

Ubuntu系統(tǒng)安裝

制作u盤啟動盤

下載Multi Boot USB軟件
下載ubuntu系統(tǒng)iso鏡像,地址:官網(wǎng);中科大阿里云;蘭州大學(xué);北京理工大學(xué);浙江大學(xué)
原理是把一個iso系統(tǒng),寫入到u盤,在電腦開機的時候,通過u盤的系統(tǒng)來啟動。需要
準(zhǔn)備一個U盤,如果里面有東西,先拷出來備份。將U盤格式化為FAT32格式。

運行Multi Boot USB軟件。
select USB disk是選擇目標(biāo)U盤,等會使用該U盤進行啟動。
Select image是選擇鏡像文件,安裝該鏡像到系統(tǒng)中。
下面選MultiBootUSB即可,Persistence不用動。點Install distro,等待寫入完成即可。

安裝系統(tǒng)

開機時需要選擇boot啟動項,要選擇引導(dǎo)帶有USB、UEFI字樣的啟動項。想打開選擇boot啟動項的界面,筆記本一般按F2,臺式機一般按F8和F9,del和F12也有可能會使用,不同的電腦不一樣??梢园袴1-12順著按一遍。。。。。

進入到安裝界面之后,斷網(wǎng)操作,如果聯(lián)網(wǎng)就會拉慢安裝進度,會安裝語言包等不需要的東西。

進入到安裝類型這里,選其他類型,需要分區(qū)。
EFI分2G,Swap=內(nèi)存大小,Ext4分200-500G。
EFI是系統(tǒng)引導(dǎo)的部分,一般只會用到幾百M;Swap是當(dāng)內(nèi)存不夠時,操作系統(tǒng)會將硬盤當(dāng)虛擬內(nèi)存使用,所以在0.5-2倍內(nèi)存都可以;Ext4掛在根目錄/上;如果還有多于的空間,以后可以靈活掛在home上,或者裝其他系統(tǒng),靈活處理。
后面直接下一步安裝就可以了。

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

安裝完成

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

我安裝筆記本時,裝好了但是wifi不能用,應(yīng)該是什么網(wǎng)卡驅(qū)動沒裝的原因,這里給出幾個蠢方法解決。

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

NVIDIA+CUDA+CUDNN 參考

NVIDIA是顯卡驅(qū)動,CUDA是并行運算平臺,CUDNN是神經(jīng)網(wǎng)絡(luò)平臺。
查看顯卡型號:
lspci |grep VGA
lspci | grep -i nvidia

下載

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

NVIDIA安裝

卸載原有驅(qū)動

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

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

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

CUDA

sudo ./文件名
幾個重要的選項

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

驗證方法:nvcc -V

CUDNN

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

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

# 如果成功安裝會顯示
Test passed!

Anaconda搭建環(huán)境

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

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

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

  • pytorch
    conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
    這里cudatoolkit=10.0可以直接在10.1的環(huán)境下使用,無需更改。
    如果發(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

測試是否可以使用gpu

運行下面的代碼,并使用nvidia-smi -l 2監(jiān)測gpu的占用,如果在程序運行期間發(fā)生了GPU占用,則說明可以正常使用。

  • 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人臉識別庫
    以下幾個東西要先裝好,再能裝dlib,不然報錯。
    distro:pip install distro
    cmake:sudo apt-get install cmake
    然后執(zhí)行dlib的安裝命令,其中會用到cmake編譯源碼,所以要花一點時間:
    pip install dlib
    裝完了打開python運行import dlib,不報錯則成功。
  • tensorboardX
    pip install tensorboardX
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容