已加载运行时CuDNN库:5005(兼容版本5000),但源代码是使用5103(兼容版本5100)编译的。

13
我遇到了以下错误。我正在使用conda安装的tensorflow,但我无法将它与我的GPU一起使用。
加载的CuDNN库运行时版本为5005(兼容性版本5000),但源代码是使用5103(兼容性版本5100)编译的。如果使用二进制安装,请将您的CuDNN库升级到匹配的版本。如果从源代码构建,请确保运行时加载的库与在编译配置期间指定的兼容版本匹配。 F tensorflow/core/kernels/conv_ops.cc:526] 检查失败:stream->parent()->GetConvolveAlgorithms(&algorithms) 已放弃(核心已转储)
nvcc路径为"/usr/local/cuda-7.5/bin/nvcc",版本为"Cuda compilation tools, release 7.5, V7.5.17"。
我尝试下载了版本为v5.1的CuDNN并进行了以下操作,但也没有解决问题:
``` sudo cp lib* /usr/local/cuda-7.5/lib64/ sudo cp include/cudnn.h /usr/local/cuda-7.5/include/ sudo ldconfig ```
我还在另一个文件夹中尝试了同样的操作:
``` sudo cp lib* /usr/local/cuda/lib64/ sudo cp include/cudnn.h /usr/local/cuda/include/ sudo ldconfig ```

你能否使用LD_DEBUG来查找加载的cudnn库的版本和该库的位置?如果仍然是旧库,则可以使用v5.1更新它。 - Yao Zhang
这个问题有答案吗? - Dror Hilman
我希望有人能够向我解释这个错误到底是什么意思。 - Charlie Parker
我提出了一个问题,以帮助解密这个错误的含义,以便在此错误上取得一些进展:https://dev59.com/-FgR5IYBdhLWcg3wr-8Y - Charlie Parker
你尝试使用不同版本的CUDA和cuDNN了吗?我尝试了CUDA 7.5和cuDNN 5.1-8.0,它可以工作(我的意思是在我使用的集群中,系统会自动找出要使用哪个版本。当我只使用5.0时它无法工作,但现在加上那个破折号就可以了...我想我尝试过CUDA 8.0,但它不起作用。我正在使用TensorFlow 0.11.0)。希望这可以帮助你并给你一个开始的地方(另外我的其他问题也有答案,可能对你或未来的读者有帮助)。 - Charlie Parker
显示剩余2条评论
1个回答

14

这里有一个很好的解释 - 什么是错误:`Loaded runtime CuDNN library: 5005 but source was compiled with 5103` 的含义?

简短的回答是你安装了CuDNN 5.0,但应该安装CuDNN 5.1。

看起来这就是您正在尝试做的事情。对我来说,只需按照此处的说明操作即可 - https://www.tensorflow.org/get_started/os_setup#optional_install_cuda_gpus_on_linux

在执行此操作之前,我检查了/usr/local/cuda/include/cudnn.h的内容,确实在顶部有这些行,表示它是5.0.5版本。

#define CUDNN_MAJOR      5
#define CUDNN_MINOR      0
#define CUDNN_PATCHLEVEL 5
如果您的`/usr/local/cuda/include/cudnn.h`已经是5.1版本,那么可能有另一个目录中的CuDNN被引用了。我在我的`.bashrc`文件中添加了以下内容--也许您可以尝试添加这个或者查看TensorFlow指导中的说明。
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME="/usr/local/cuda"

我在这里学到了新东西:如何读取tensorflow版本(或任何模块)!谢谢。 - smerllo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接