Ubuntu深度学习环境搭建
前言
上次搭建深度学习环境已经是很久以前了,但我还记得被其支配的恐惧,各种出错,各种版本对应不上,搞得我头皮发麻。这次因为系统奔溃需要重装系统,也就意味着我需要重新搭建Ubuntu的深度学习环境,我心里是一百个不愿意的。但也没有办法,只能硬着头皮上。但出乎意料,这次搭建过程还算顺利,只有在tensorflow运行出了点小状况(后面会提到)。本篇博客会详细记录我的整个搭建过程,说不定那天我的系统又被我玩崩溃了。先附上我的深度学习环境基本信息:
- Ubuntu: 16.04
- NVIDIA: GeForce GTX 1080TI
- Driver Version: 430.40
- CUDA: 10.0
- cuDNN: 7.5.1
- TensorFlow: 1.13.1
安装显卡驱动
禁用nouveau
打开终端输入:
sudo vim /etc/modprobe.d/blacklist.conf
在文件最后加上:
blacklist nouveau
options nouveau modeset=0
保存退出后输入命令:
sudo update-initramfs -u
然后重启电脑,接着输入命令:
lsmod | grep nouveau
若没有输出信息,说明禁用成功
安装驱动
首先去NVIDIA官网上下载对应的Linux版本的显卡驱动。
然后按Ctrl+Alt+F1进入命令行模式,输入用户名和密码
接着关闭图形界面:
sudo service lightdm stop
然后cd
进去驱动所在的文件夹,获取权限:
sudo chmod a+x NVIDIA-Linux-x86_64-xxx.run
安装驱动:
sudo ./NVIDIA-Linux-x86_64-410.78.run –no-x-check –no-nouveau-check –no-opengl-files
- –no-x-check 安装驱动时关闭X服务
- –no-nouveau-check 安装驱动时禁用nouveau
- –no-opengl-files 只安装驱动文件,不安装OpenGL文件;安装了,如果是双显卡的话,会出现重复登录的问题
完成安装后启动图形界面:
sudo service lightdm start
最后在终端输入:
nvidia-smi
若有输出显卡信息,说明驱动安装成功
安装CUDA
下载CUDA10.0,下载地址:https://developer.nvidia.com/cuda-toolkit-archive
cd
进入CUDA所在文件夹,赋予文件执行权限后安装1
2chmod +x cuda_10.0.130_410.48_linux.run
sudo ./cuda_10.0.130_410.48_linux.run
开始安装后需要按空格键阅读条款,时间比较长,等不及的可以直接Ctrl+C跳过。阅读完使用条款后开始配置,一步一步慢慢来1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: n(这里不要再安装驱动了!!!)
Install the CUDA 10.0 Toolkit?(是否安装CUDA 10 ,这里必须要安装)
(y)es/(n)o/(q)uit: y
Enter Toolkit Location(安装路径,使用默认,直接回车就行)
[ default is /usr/local/cuda-10.0 ]:
Do you want to install a symbolic link at /usr/local/cuda?(同意创建软链接)
(y)es/(n)o/(q)uit: y
Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: y
Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...(开始安装)
安装完成后加入环境变量
sudo gedit ~/.bashrc
最后一行加入:1
2
3export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
保存退出后输入:
source .bashrc
最后终端输入:
nvcc --version
若输出CUDA版本信息说明安装成功
安装cuDNN
从 https://developer.nvidia.com/cudnn 上下载cudnn相应版本的压缩包(需要注册或登录)。
解压当前的.tgz格式的软件包
tar -xzvf cudnn-10.0-linux-x64-v7.5.1.10.tgz
解压后的文件夹名为cuda,文件夹中包含两个文件夹:一个为include,另一个为lib64。最好把这个cuda文件夹放在home目录下,方便操作。
将解压后的lib64文件夹关联到环境变量中:
sudo gedit ~/.bashrc
最后一行加入:
export LD_LIBRARY_PATH=/home/cuda/lib64:$LD_LIBRARY_PATH
保存退出后输入:
source .bashrc
最后一步就是将解压后的/home/cuda/include目录下的一些文件拷贝到/usr/local/cuda/include中。由于进入了系统路径,因此执行该操作时需要获取管理员权限:1
2
3
4sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
完成cuDNN的配置
安装TensorFlow
这步比较简单,直接使用pip命令安装即可(我安装的是1.13.1版本):
pip install tensorflow-gpu==1.13.1
然后进入交互式命令行看看是否安装成功:
import tensorflow as tf
接着就突然出现了FutureWarning警告信息,吓出我一身冷汗。我赶紧去网上查阅相关资料,看到有人说是因为numpy的版本是1.17太高了。我赶紧查看了我安装的numpy的版本,果然是1.17。于是我进行了降级安装,安装了1.16.4版本的numpy,最终问题得以完美解决。