Ubuntu NVIDIA+cuda+cudnn+anacond

2019-07-05  本文已影响0人  zestloveheart

介绍

本文包括以下几个部分的安装和使用,一条龙搭建深度学习环境,记录下来以加快下次装机效率。

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不能用,应该是什么网卡驱动没装的原因,这里给出几个蠢方法解决。

  1. 先连上网线,让电脑有网。然后运行两个命令就可以了。
    sudo apt-get update
    sudo apt-get install --reinstall bcmwl-kernel-source
    查看网卡lspci
    官网对应解决方案
  2. sudo service network-manager restart
  3. 蠢方法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

各个深度学习框架的安装方法

注:下面带有超链接的是需要点进去,选择对应自己系统和环境的版本进行安装。

测试是否可以使用gpu

运行下面的代码,并使用nvidia-smi -l 2监测gpu的占用,如果在程序运行期间发生了GPU占用,则说明可以正常使用。

# -*- 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()
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)
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))

其他包的安装

上一篇 下一篇

猜你喜欢

热点阅读