前言
这几天一直在搭建ubuntu16.04下的深度学习环境,遇到许多坑,我将网上不同教程的优点总结了一下,在这里与大家分享。我使用的显卡是RTX2080,CUDA 9.0和CUDNN7_7.4.1.5。CUDA版本需要与CUDNN相适应,具体对应版本在官网下载时能看到。
安装显卡驱动
先到英伟达官网上下载与你的显卡对应的显卡驱动。下载链接:https://www.nvidia.cn/Download/index.aspx?lang=cn 。
下载之后是某一个.run的文件,不同显卡驱动版本可能不一样。
NVIDIA-Linux-x86_64-410.93.run
查看是否有NVIDIA的显卡
lspci | grep -i nvidia
uname -m && cat /etc/*release
有显卡信息代表显卡已经插好。
如果之前有旧的显卡驱动需要先卸载。
(1)进入文本模式:CTRL+ALT+F1
sudo apt-get remove nvidia-*
sudo apt-get autoremove
(2)Uninstall the drivers from the .run file
sudo nvidia-uninstall
(3)重启,之后安装新的驱动
Ctrl+Alt+F1
sudo service lightdm stop
chmod +x NVIDIA-Linux-x86_64-410.93.run
sudo ./NVIDIA-Linux-x86_64-410.93.run -no-x-check -no-nouveau-check -no-opengl-files
chmod将文件设为可执行,有时候不需要这一步,可以直接sudo ./NVIDIA…
-no-x-check安装驱动时关闭x服务
-no-nouveau-check 安装驱动时禁用Nouveau
-no-opengl-files 安装时只装驱动文件,不安装Opengl
(4)重新打开界面
sudo service lightdm restart
重启之后发现屏幕分辨率改变则表示显卡驱动安装成功!
卸载CUDA
如果之前你有安装CUDA,换了新的显卡之后无法正常使用,则需要卸载CUDA,没有安装的话直接跳过这一步。
sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
sudo rm -rf /usr/local/cuda-8.0/
安装CUDA
✦CUDA 9.0
✦CUDNN 7_7.4
可以在官网,下载我们需要的CUDA版本。下载地址:https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal
下载好了之后给予文件执行权限
chmod +x cuda_9.0.176_384.81_linux.run
打开终端,cd 到这个文件夹下,然后安装
sudo ./cuda_9.0.176_384.81_linux.run
开始安装之后,需要阅读说明,可以使用Ctrl + C直接阅读完成,或者使用空格键慢慢阅读。然后进行配置,我这里说明一下:
(是否同意条款,必须同意才能继续安装)
accept/decline/quit: accept
(这里不要安装驱动,因为已经安装最新的驱动了,否则可能会安装旧版本的显卡驱动,导致重复登录的情况)
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: n
Install the CUDA 9.0 Toolkit?(是否安装CUDA 9 ,这里必须要安装)
(y)es/(n)o/(q)uit: y
Enter Toolkit Location(安装路径,使用默认,直接回车就行)
[ default is /usr/local/cuda-9.0 ]:
Do you want to install a symbolic link at /usr/local/cuda?(同意创建软链接)
(y)es/(n)o/(q)uit: y
Install the CUDA 9.0 Samples?(不用安装测试,本身就有了)
(y)es/(n)o/(q)uit: n
Installing the CUDA Toolkit in /usr/local/cuda-9.0 ...(开始安装)
这里注意默认目录最好不要改,容易给后续操作带来不便。最后,需要将CUDA添加到环境变量中,添加方法如下:
sudo gedit ~/.bashrc
在文件末尾添加下面代码并保存。
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH
注意这个是默认路径的环境变量添加方式,所以上一步点击默认的话,这两行命令直接复制。
之后更新环境变量:
source ~/.bashrc
使用nvcc -v查看有无CUDA版本信息,有则表示安装成功!
下载和安装CUDNN
到官网:https://developer.nvidia.com/rdp/cudnn-download 下载CUDNN,然后点击Download开始选择下载版本,在下载之前需要登录,选择版本界面如下,我们选择cuDNN Library for Linux:
下载之后是一个压缩包,如下:
libcudnn7_7.4.1.5-1+cuda9.0_amd64.solitairetheme8
将其手动改为.tgz格式的文件
打开终端,cd 到这个文件夹下。然后对它进行解压,命令如下:
tar -zxvf libcudnn7_7.4.1.5-1+cuda9.0_amd64.tgz
得到以下文件
cuda/include/cudnn.h
cuda/NVIDIA_SLA_cuDNN_Support.txt
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.7
cuda/lib64/libcudnn.so.7.4.2
cuda/lib64/libcudnn_static.a
使用以下两条命令复制这些文件到CUDA目录下:
cp cuda/lib64/* /usr/local/cuda-9.0/lib64/
cp cuda/include/* /usr/local/cuda-9.0/include/
拷贝完成之后,可以使用以下命令查看CUDNN的版本信息:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
安装Tensorflow
pip install tensorflow-gpu
安装好了之后用import tensorflow测试一下,不显示信息代表安装成功!
以上总结是我参考了下面几位作者的博文写的,如果觉得这篇教程对你有帮助或启发,麻烦点个赞,谢谢!
[1] https://blog.csdn.net/qq_33200967/article/details/80689543
[2] https://zhuanlan.zhihu.com/p/37931050
[3] https://blog.csdn.net/ssmixi/article/details/73483795