前言
之前自己没有完整走过深度学习环境配置的流程,总觉得流程很麻烦,很烦人,后来经过几次的折腾,发现其实也没有那么吓人,基本上一遍就过。
因此特意记录下自己的配置流程,相信你按照我的流程,也能非常顺利的配置好cuda和cudnn,开始你的深度学习之旅!
依赖安装
Ubuntu18.04默认安装了gcc v7,而cuda-9.0依赖gcc v6,通过下面命令安装:
sudo apt-get install gcc-6 g++-6
1、安装英伟达显卡驱动
方法一:直接在软件和更新中安装(推荐)
我就是用这种方法直接安装的,简单有效,亲测可用。
打开【软件和更新】,选择【附加驱动】,然后选择想要使用的驱动版本,然后点击【应用更改】,重启电脑后即可。
方法二:终端安装
打开终端,输入以下命令进行安装:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt install nvidia-driver-396
sudo reboot now
两种方法安装完成之后,在终端输入:nvidia-smi
,如果安装正常的话,会出现类似下面的界面:
2、安装cuda9.0
首先需要下载cuda:
下载链接:cuda下载网站 有两种下载格式文件可选:runfile
或deb
,安装方法不一样。
我选择的是runfile安装包,此处需要注意,我安装的时候英伟达还没有出针对Ubuntu18.04的cuda,只有Ubuntu17.04的版本,但是亲测在Ubuntu18.04上也可以用,所以下载Ubuntu17.04的版本即可:
runfile安装:
chmod +x cuda_9.0.176_384.81_linux-run
sudo ./cuda_9.0.176_384.81_linux-run --override
注意上面的--override
选项必须要加上,这样才能使用gcc v6
版本进行编译安装。
安装过程中会在终端打印很多内容,按空格实现往下滚动,然后按提示输入内容,其中比较重要的几个选项选择如下:
其他选择可以根据提示选择y或者n,一般好像都是y。
deb安装:
deb格式的安装包,安装就更加方便了,可以使用命令:
sudo dpkg -i <cuda-***.deb>
进行安装。
cuda环境配置:
安装完cuda之后,需要修改~/.bashrc
文件来配置cuda环境,打开~/.bashrc
文件:
gedit ~/.bashrc
在文件最后添加如下内容:
# NVIDIA CUDA Toolkit
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64
保存后,终端输入:
source ~/.bashrc
这样就完整安装和配置好cuda了。
测试:
在终端输入:nvcc -V
,一切正常的话会打印如下内容:
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176
恭喜你,cuda安装成功,接下来进行cudnn安装。
3、安装cudnn
cudnn
全程叫CUDA Deep Learning Neural Network library,是用来调用GPU资源不可缺少的库。所谓的cudnn安装,其实就是拷贝对应的头文件和库文件到安装好的cuda文件夹下即可。
下载cudnn:
下载链接 注意:cudnn下载要求先注册一个英伟达账户才能下载,现在可以微信和QQ登录了。我使用的就是QQ登录。登录之后,可能还需要完善一些信息,还要帮助英伟达填一些调查问卷。。。。。(无奈)。
好,下载过程中注意选择for CUDA9.0
的cuDNN安装包即可,如下图所示为我所选择的版本:
下载之后,终端进到压缩包目录,执行:
tar -zxf cudnn-9.0-linux-x64-v7.4.1.5.tgz
cd cuda
sudo cp -P lib64/* /usr/local/cuda/lib64/
sudo cp -P include/* /usr/local/cuda/include/
上述命令含义为:解压缩(得到文件夹cuda)-》进到cuda文件夹-》复制lib64文件夹下的库到cuda/lib64目录下-》复制include文件夹下的头文件到cuda/include目录下。
至此,已经全部配置完毕,你可以开心的开始你的深度学习学习之旅了!