- 为什么要安装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为例:

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

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

# 进入你刚刚解压的 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 请尝试使用下面命令解决:

# 检测问题
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 交互命令行中输入:

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))

当你看到:

Found GPU at: /device:GPU:0

那么恭喜你🎉!