在 Ubuntu16.04 上的安装 CUDA9.0 和 cuDNN

- 为什么要安装CUDA9啊?

- 还不是因为tensorflow-gpu 1.5版本以上不支持CUDA8了 。。。

1 获取安装文件

1.1 获取 CUDA9.0

点击进入下载官方地址,根据自己的操作系统选择合适的安装包,然后点击download下载。
cuda download

1.2 获取 cuDNN

cuDNN 的下载稍稍麻烦一些,需要登录并加入 NVIDIA 的开发者计划才有资格。
如果没有账号就注册一个,然后登录账号,点击此链接进行下载。
cudnn download
进入上述界面后,点击第2个选项(9.0 版本)。
cudnn download details
这里选择第1个进行下载,解压后备用。

1.3 经验之谈

直接从官网下载是有点难的,建议找一些共享的网盘之类的,但是需要自己判断一下文件的安全问题!

2 卸载旧的版本(可选)

这一步是可选的,仅针对已经安装了CUDA的电脑。
先前已经安装了CUDA,需要先卸载后再安装。这里以8.0为例:

1
2
3
4
5
6
cd /usr/local/cuda-8.0/bin
sudo ./uninstall_cuda_8.0.pl

# 删除残留的 cuda-8.0 和 cuDNN
sudo rm -rf cuda-8.0
sudo rm -rf cudnn

3 安装 CUDA

1
2
3
4
5
sudo dpkg -i cuda***.deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
sudo apt update
# 这里必须指定一下版本,不然它会自动升级到最新版本
sudo apt install cuda=9.0.176-1

4 安装 cuDNN

1
2
3
4
5
6
7
8
9
# 进入你刚刚解压的 cudnn 目录
cd cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
cd ..
cd lib64
sudo cp libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
sudo ldconfig

如果在最后一步sudo ldconfig出现了错误:libcudnn.so.7 is not a symbolic link
请尝试使用下面命令解决:

1
2
3
4
5
6
7
# 检测问题
sudo ldconfig -v
# 找到错误
/sbin/ldconfig.real: /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudnn.so.7 is not a symbolic link
libcudnn.so.7 -> libcudnn.so.7.0.5
# 创建新链接
sudo ln -sf /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudnn.so.7.0.5 /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudnn.so.7

最后重启电脑。

5 最后的测试

创建一个test_gpu.py文件或者直接在 Python 交互命令行中输入:

1
2
3
4
5
import tensorflow as tf
device_name = tf.test.gpu_device_name()
if device_name != '/device:GPU:0':
raise SystemError('GPU device not found')
print('Found GPU at: {}'.format(device_name))

当你看到:

1
Found GPU at: /device:GPU:0

那么恭喜你🎉!

在 Ubuntu16.04 上的安装 CUDA9.0 和 cuDNN

https://blog.ailln.com/v2ai/2018/07/06/deep-learning/7-cuda9/

作者

Ailln

发布于

2018-07-06

更新于

2024-03-02

许可协议

评论