升级CUDA与cuDNN适配TensorFlow-GPU 1.8的最佳实践咨询
TensorFlow-GPU 1.8 本地升级最佳实践(适配你的Ubuntu 16.04环境)
作为刚从TF-GPU 1.2升级到1.8的过来人,结合你给出的环境配置(Ubuntu 16.04、GTX 1080 Ti、NVIDIA驱动384.111、Anaconda 4.4.0、CUDA 8.0、cuDNN 5.1),给你梳理一套踩过坑后总结的最佳实践,帮你顺利完成升级:
一、先确认核心兼容性要求
根据TensorFlow官方的适配规则,TF-GPU 1.8必须搭配CUDA 9.0和cuDNN 7.0.x,而你的NVIDIA驱动版本384.111刚好满足最低要求(TF 1.8要求驱动≥384.xx),这点不用折腾驱动,省了不少事!
二、备份现有环境(重中之重)
升级前一定要做好备份,避免出问题回不去原来的工作环境:
- 克隆当前的conda环境(假设你原来的TF 1.2环境名为
tf12_env,换成你实际的名字即可):conda create --name tf12_backup --clone tf12_env - 导出环境配置文件,方便后续恢复:
conda env export > tf12_env.yml
三、卸载旧版CUDA 8.0
为了避免版本冲突,建议彻底卸载CUDA 8.0(注意不要误删NVIDIA驱动):
sudo apt-get remove --purge cuda-8-0 sudo apt-get autoremove sudo apt-get autoclean
四、安装CUDA 9.0
- 下载适配Ubuntu 16.04的CUDA 9.0 deb安装包
- 执行以下命令完成安装:
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub sudo apt-get update sudo apt-get install cuda-9-0 - 配置环境变量,编辑
~/.bashrc文件,添加以下内容:export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} - 让环境变量生效:
source ~/.bashrc
五、安装对应版本的cuDNN
TF 1.8需要cuDNN 7.0.x(推荐7.0.5,适配CUDA 9.0):
- 下载
cudnn-9.0-linux-x64-v7.tgz压缩包 - 解压并复制文件到CUDA目录:
tar -xzvf cudnn-9.0-linux-x64-v7.tgz sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64 sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*
六、安装TensorFlow-GPU 1.8
推荐创建全新的conda环境,避免和旧环境的依赖冲突:
- 创建并激活新环境:
conda create -n tf18_env python=3.6 conda activate tf18_env - 安装TF-GPU 1.8.0:
(如果偏好conda安装,也可以用pip install tensorflow-gpu==1.8.0conda install tensorflow-gpu==1.8.0,但pip版本的适配性更稳定)
七、验证安装是否成功
启动Python,执行以下代码:
import tensorflow as tf # 创建会话验证GPU是否正常加载 with tf.Session() as sess: print(tf.__version__) print("GPU可用:", tf.test.is_gpu_available())
如果输出中显示TF版本为1.8.0,且GPU可用为True,同时没有报错信息,就说明安装成功了。
踩过的坑点提醒
- 不要同时保留多个CUDA版本,新手直接卸载旧版本装新的,避免环境变量混乱。
- cuDNN版本必须严格和CUDA对应,用旧的cuDNN 5.1会直接导致TF初始化失败。
- 一定要用全新的conda环境,旧环境中的numpy、keras等依赖版本可能和TF 1.8不兼容。
- 安装CUDA时不要勾选驱动安装选项,你的现有驱动已经满足要求,重装驱动容易引发黑屏等问题。
内容的提问来源于stack exchange,提问作者DocDriven
相关产品推荐
相关产品推荐

