CuDNN版本不匹配致TensorFlow-GPU运行报错,求解决方案
解决TensorFlow-GPU中CuDNN版本不兼容的问题
这问题我碰到过好多次了,就是典型的运行时CuDNN版本和TensorFlow编译时依赖的版本不匹配导致的。先看你的错误日志:
2018-04-13 20:03:49.215876: E tensorflow/stream_executor/cuda/cuda_dnn.cc:396] Loaded runtime CuDNN library: 7102 (compatibility version 7100) but source was compiled with 7005 (compatibility version 7000). If using a binary install, upgrade your CuDNN library to match. If building from sources, make sure the library loaded at runtime matches a compatible version...
简单说就是:你现在系统里运行的是CuDNN 7.1.2,但你装的TensorFlow是用CuDNN 7.0.5编译出来的,两者不兼容才报错。给你两个靠谱的解决方案:
方案一:降级CuDNN到匹配版本
如果不想动TensorFlow的版本,就把CuDNN换成7.0.5:
- 先找到你CUDA的安装路径:
- Windows一般是
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X(X.X是你的CUDA版本,比如9.0) - Linux是
/usr/local/cuda
- Windows一般是
- 删除该路径下的CuDNN文件:
- include目录下的
cudnn*.h文件 - lib/x64(Windows)或lib64(Linux)目录下的
cudnn*.lib/libcudnn*.so文件
- include目录下的
- 下载对应CUDA版本的CuDNN 7.0.5(注意要和你的CUDA版本匹配,比如CUDA 9.0对应CuDNN 7.0.5)
- 解压下载的CuDNN压缩包,把里面include和lib下的文件复制到CUDA对应的目录里,覆盖即可
方案二:升级TensorFlow到支持CuDNN 7.1.x的版本
如果你觉得降级CuDNN麻烦,可以直接升级TensorFlow,让它适配你当前的CuDNN 7.1.2:
- 打开命令行,执行升级命令:
pip install --upgrade tensorflow-gpu - 要是需要指定具体版本(比如1.9.0,这个版本开始支持CuDNN 7.1.x),可以用:
pip install tensorflow-gpu==1.9.0
验证是否解决
最后跑个简单的测试代码确认一下:
import tensorflow as tf print(tf.test.is_gpu_available())
如果输出True,说明版本匹配成功,代码就能正常运行了。
内容的提问来源于stack exchange,提问作者Jonathan
相关产品推荐
相关产品推荐

