解决CuDNN runtime版本和编译版本不同的问题

在编译安装好TensorFlow后,可下载示例代码运行,但在执行run_all.sh时,出现如下错误。该错误意思就是CuDNN的runtime版本和编译时指定的版本不同。

2018-05-08 09:00:18.042137: E tensorflow/stream_executor/cuda/cuda_dnn.cc:448] Loaded runtime CuDNN library: 7.0.5 but source was compiled with: 7.1.3.  CuDNN library major and minor version needs to match or have higher minor version in case of CuDNN 7.0 or later version. If using a binary install, upgrade your CuDNN library.  If building from sources, make sure the library loaded at runtime is compatible with the version specified during compile configuration.
2018-05-08 09:00:18.042768: F tensorflow/core/kernels/conv_ops.cc:713] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)

我这里出现该问题的原因是在安装CuDNN 7.0.5时创建的软链接没有更改到7.1.3,可以通过如下命令查看软链接。

$ ll /usr/local/cuda/lib64/
...
lrwxrwxrwx  1 root root        13 127 12:25 libcudnn.so -> libcudnn.so.7*
lrwxrwxrwx  1 root root        17 127 12:25 libcudnn.so.7 -> libcudnn.so.7.0.5*
-rwxr-xr-x  1 root root 287624224 428 08:55 libcudnn.so.7.0.5*
-rwxr-xr-x  1 root root 331455744 428 08:55 libcudnn.so.7.1.3*
...

可以看到libcudnn.so.7指向libcudnn.so.7.0.5*,而非libcudnn.so.7.1.3*,因而解决方案可以是重新创建软链接

$ cd /usr/local/cuda/lib64
$ sudo rm libcudnn.so.7.0.5*
$ sudo chmod +r libcudnn.so.7.1.3
$ sudo ln -sf libcudnn.so.7.1.3 libcudnn.so.7
$ sudo ln -sf libcudnn.so.7 libcudnn.so
$ sudo ldconfig
$ ll
...
lrwxrwxrwx  1 root root        13 58 09:13 libcudnn.so -> libcudnn.so.7*
lrwxrwxrwx  1 root root        17 58 09:13 libcudnn.so.7 -> libcudnn.so.7.1.3*
-rwxr-xr-x  1 root root 331455744 428 08:55 libcudnn.so.7.1.3*
...
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值