Ubuntu下使用矿卡进行深度学习(一)——环境搭建

Ubuntu下使用矿卡进行深度学习(一)——环境搭建

配置:R3 2200G+P106-100+16G内存,Ubuntu Server 18.04

CUDA9+cuDNN7.4+python3.6

步骤:

1、安装驱动

2、安装CUDA

3、安装cuDNN

4、安装python与tensorflow

5、jupyter notebook的远程访问与环境访问

一、安装驱动

这一步可能是最麻烦的,因为网络上找到的P106几乎都是玩游戏,唯一一个用来做深度学习并且写了过程的还是在Win下。 按照在Win下安装成功的UP主的经验,可以用官方原版驱动完成。 安装方法参考此文 jianshu.com/p/764edaff3 因此首先去nvidia官网下载最新的GTX1060的驱动。

1、屏蔽开源驱动nouveau

sudo nano /etc/modprobe.d/blacklist.conf
#然后在文档尾部添加下面内容
blacklist vga16fb

blacklist nouveau

blacklist rivafb

blacklist nvidiafb

blacklist rivatv

(这里有一行空格)

2、删除Nvidia旧驱动

sudo apt-get --purge remove nvidia-*(需要清除干净)

sudo apt-get --purge remove xserver-xorg-video-nouveau

然后重启即可,由于我是使用Server版本,因此参考原文里面5、6均不用执行。

3、安装驱动 进入下载目录,使用管理员权限安装即可,不过要注意中间选择新建并覆盖配置文件应该选新建。

4、验证

nvidia-smi

Fri Jan  4 23:40:49 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.93       Driver Version: 410.93       CUDA Version: 10.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  P106-100            Off  | 00000000:01:00.0 Off |                  N/A |
| 21%   17C    P0    25W / 120W |   5815MiB /  6080MiB |     23%      Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |

出现类似界面即为安装成功。

二、安装CUDA

这一步我踩了一个深深的坑,直接用run文件安装会提示tmp空间不足,deb安装最后提醒无法安装CUDA,但是使用aptitude why-not cuda查看也提示没有冲突。 然后掉头查tmp怎么解决。 有两位作者是通过临时扩充tmp的容量来解决,但是不知道为什么对我的情况没有奏效,我甚至在内存划了3G给tmp还是会提示空间不足。

最后查到这篇文章52nlp.cn/%E6%B7%B1%E5%B

可以在运行run文件时使用--tmpdir命令指定临时文件夹

sudo ./cuda_9.0.176_384.81_linux.run --tmpdir=/home/ --override
#tmpdir选项指定临时文件夹,可以自定义
#override貌似是忽略依赖,因为还有包没有安装,如果不加此选项会有如下提示
Missing recommended library: libGLU.so
Missing recommended library: libX11.so
Missing recommended library: libXi.so
Missing recommended library: libXmu.so
#也可以选择使用如下命令先安装依赖
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

然后就可以顺利安装CUDA了,不过中间有一个选项是安装nvidia驱动,自带的好像是389还是多少,建议选不安装,因为我们已经装好了。 最后添加环境变量即可

sudo nano ~/.bashrc
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#保存之后更新
source ~/.bashrc

三、安装cuDNN

依旧是进入官网下载,这里我下载的是

cuDNN Library for Linux

然后解压并复制到cuda目录下即可

#解压
tar -zxvf cudnn-9.0-linux-x64-v7.4.2.24.tgz
#复制
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/
sudo cp  cuda/include/cudnn.h /usr/local/cuda-9.0/include/
#更改权限
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

安装libcupti

sudo apt-get install libcupti-dev

四、安装python与tensorflow

这里python直接用anaconda进行安装,然后创建虚拟环境安装tensorflow。

#安装完Anaconda之后需要刷新./bashrc
source ./bashrc #否则conda可能不会识别
#创建虚拟环境
conda create -n tf python=3.6
#目前(tf 1.12只支持到py3.6,版本过高会提示找不到tensorflow包
#进入虚拟环境
source activate tf
#命令行前面出现(tf)即为成功
pip install tensorflow-gpu
#等待即可成功安装
#退出虚拟环境
source deactivate

五、jupyter notebook的远程访问与环境访问

因为矿卡是装在自己搭的台式机上,平常代码啥的还是在自己笔记本上写(其实是买不起显示器)。因此需要配置jupyter notebook的远程访问。

1、远程访问Jupyter Notebook

主要参考blog.csdn.net/simple_th

#首先要生成一个配置文件
jupyter notebook --generate-config
#然后设置密码
jupyter notebook password
#最后修改配置文件
sudo nano ~/.jupyter/jupyter_notebook_config.py
#找到如下四行取消注释并按照自己的情况修改即可
c.NotebookApp.ip='*'
c.NotebookApp.password = ''
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 #可自行指定一个端口

最后启动Jupyter notebook即可远程访问了。

2、Jupyter Notebook使用tf虚拟环境 这里需要给Jupyter Notebook安装一个插件即可使它可以使用conda创建的虚拟环境

#安装插件
conda install nb_conda
#在对应虚拟环境安装
source activate tf
conda install nb_conda
#退出虚拟环境
source deavtivate
#启动Jupyter Notebook
jupyter notebook
紧接着就能在新建的地方看见对应的虚拟环境了

安装nb_conda之后,新建的虚拟环境需要进入对应虚拟环境,在虚拟环境下安装一遍nb_conda然后重启Jupyter Notebook才能看见新的虚拟环境。

编辑于 2019-01-07 01:26