Ubuntu NVIDIA+cuda+cudnn+anacond
介绍
本文包括以下几个部分的安装和使用,一条龙搭建深度学习环境,记录下来以加快下次装机效率。
- Ubuntu
- NVIDIA+CUDA+CUDNN
- Anaconda
Ubuntu系统安装
制作u盘启动盘
下载Multi Boot USB软件
下载ubuntu系统iso镜像,地址:官网;中科大;阿里云;兰州大学;北京理工大学;浙江大学
原理是把一个iso系统,写入到u盘,在电脑开机的时候,通过u盘的系统来启动。需要
准备一个U盘,如果里面有东西,先拷出来备份。将U盘格式化为FAT32格式。
运行Multi Boot USB软件。
select USB disk是选择目标U盘,等会使用该U盘进行启动。
Select image是选择镜像文件,安装该镜像到系统中。
下面选MultiBootUSB即可,Persistence不用动。点Install distro,等待写入完成即可。
安装系统
开机时需要选择boot启动项,要选择引导带有USB、UEFI字样的启动项。想打开选择boot启动项的界面,笔记本一般按F2,台式机一般按F8和F9,del和F12也有可能会使用,不同的电脑不一样。可以把F1-12顺着按一遍。。。。。
进入到安装界面之后,断网操作,如果联网就会拉慢安装进度,会安装语言包等不需要的东西。
进入到安装类型这里,选其他类型,需要分区。
EFI分2G,Swap=内存大小,Ext4分200-500G。
EFI是系统引导的部分,一般只会用到几百M;Swap是当内存不够时,操作系统会将硬盘当虚拟内存使用,所以在0.5-2倍内存都可以;Ext4挂在根目录/上;如果还有多于的空间,以后可以灵活挂在home上,或者装其他系统,灵活处理。
后面直接下一步安装就可以了。
然后会遇到一个用户和密码设置,这里可以创建一个自己的初始用户。
安装完成
安装完成后先把root用户密码改一下,打开terminal:sudo passwd
,先输入自己的密码,然后输入想要设置的root密码。
我安装笔记本时,装好了但是wifi不能用,应该是什么网卡驱动没装的原因,这里给出几个蠢方法解决。
- 先连上网线,让电脑有网。然后运行两个命令就可以了。
sudo apt-get update
sudo apt-get install --reinstall bcmwl-kernel-source
查看网卡lspci
官网对应解决方案 sudo service network-manager restart
- 蠢方法2
NVIDIA+CUDA+CUDNN 参考
NVIDIA是显卡驱动,CUDA是并行运算平台,CUDNN是神经网络平台。
查看显卡型号:
lspci |grep VGA
lspci | grep -i nvidia
下载
先给出3个网址,需要下载,CUDA和CUDNN版本要保持一致。
NVIDIA GeForce驱动
NVIDIA Tesla驱动
CUDA
CUDNN 在Ubuntu安装CUDNN要下载runtime,developer,doc and sample一共3个文件。
下载完毕后,sh文件需要加上运行权限sudo chmod a+x 文件名
NVIDIA安装
卸载原有驱动
# 如果之前是用apt-get安装
sudo apt-get remove --purge nvidia*
# 如果之前是用runfile文件安装
sudo chmod +x *.run
sudo ./原来安装的文件名 --uninstall
禁用服务
sudo gedit /etc/modprobe.d/blacklist.conf
文本最后加上
blacklist nouveau
options nouveau modeset=0
更新
sudo update-initramfs -u
因为显卡需要控制显示在屏幕上的图像,所以如果图形界面处于占用状态,安装驱动是必然会失败的。关闭X-Window服务。
sudo service lightdm stop
可以重启一下
reboot
安装
sudo ./文件名
如果重启之后还不行,用sudo init 3
,再安装。
验证方法:nvidia-smi
CUDA
sudo ./文件名
几个重要的选项
accept #同意安装
n # 不安装驱动,已经安装最新驱动
y # 安装CUDA Toolkit
<Enter> #安装到默认目录
y # 创建安装目录的软链接
n # 不复制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搭建环境
在装包的时候发现权限有问题,运行下面的指令,将yourname换成自己的用户名。
sudo chown -R yourname:yourname /home/marley/anaconda3
各个深度学习框架的安装方法
注:下面带有超链接的是需要点进去,选择对应自己系统和环境的版本进行安装。
-
pytorch
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
这里cudatoolkit=10.0可以直接在10.1的环境下使用,无需更改。
如果发现速度很慢,删掉后面的-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
监测gpu的占用,如果在程序运行期间发生了GPU占用,则说明可以正常使用。
- pytorch
# -*- coding: UTF-8 -*-
import torch
from torch.autograd import Variable
# 将变量或者数据移到GPU
gpu_info = Variable(torch.randn(3,3)).cuda()
# 将变量或者数据移到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
然后执行dlib的安装命令,其中会用到cmake编译源码,所以要花一点时间:
pip install dlib
装完了打开python运行import dlib
,不报错则成功。 - tensorboardX
pip install tensorboardX