tensorflow/core/kernels/conv_ops.cc:713] Check failed: stream->parent()->GetConvolveAlgorithms( c

2019.01.05更新:

使用tensorflow-gpu 1.7.0时总是遇到这个报错:
2019-01-04 09:00:18.042768: F tensorflow/core/kernels/conv_ops.cc:712] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)

本来一直以为是tensorflow-gpu版本的问题,折腾许久才知道是cudnn版本的问题,注意报错中的那个数字712,这就是cudnn装错了,装成了7.1.2
我的环境是ubuntu16.04,cuda9.0,cudnn7.0.5,这里需要特别注意,正常情况下,照着我这个版本装是没有问题的,但是我由于先装了cudnn7.1.2,后来没有删除7.1.2,直接回滚到的7.0.5,软链接没设置好!

查看cuda和cudnn版本:

cat /usr/local/cuda/version.txt

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

注意,以上问题只使用这两个命令是查不出来的,因为查到的cudnn就是7.0.5,需要使用ll /usr/local/cuda/lib64/来查,借用了这个博客里的结果,我的忘记截图了,大概就是这么个意思,有的地方是7.0.5,有的地方是7.1.2,总之就是很乱。

... 
lrwxrwxrwx 1 root root 13 1月 27 12:25 libcudnn.so -> libcudnn.so.7* 
lrwxrwxrwx 1 root root 17 1月 27 12:25 libcudnn.so.7 -> libcudnn.so.7.0.5* 
-rwxr-xr-x 1 root root 287624224 4月 28 08:55 libcudnn.so.7.0.5* 
-rwxr-xr-x 1 root root 331455744 4月 28 08:55 libcudnn.so.7.1.2*
...

解决方案

上面那个博客里面也有写,不过我是这样做的:参考

  1. 删除原来的cudnn的所有东西(因为我把软链接设置错了,所以就一不做二不休全删了)
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
  1. 重新安装cudnn7.0.5,在终端cd到刚解压的cuda文件夹
sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/lib* /usr/local/cuda/lib64/
  1. cd到/usr/local/cuda/lib64/文件夹下,建立软链接(注意版本号换成你自己的)
sudo chmod +r libcudnn.so.7.0.5  
sudo ln -sf libcudnn.so.7.0.5 libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so  
sudo ldconfig  
  1. 做完以上几步后,重新检测,注意关注cudnn那几行,如果全都变成了7.0.5相关的就好了。
cd /usr/local/cuda/lib64/
ll

参考链接:
https://blog.csdn.net/MacwinWin/article/details/80236111

以上尝试过了上面的方法依旧不能解决问题,可以参考这里:https://github.com/tensorflow/tensorflow/issues/6698


原文:
曾经用tensorflow-gpu1.4.0的时候,也遇到过这种问题,当使用cuda8.0+cudnn6.0+tensorflow-gpu1.4.0就可以了,亲测可用。
这里附上cudnn6.0的网盘下载链接:https://pan.baidu.com/s/1ho4VqXeCBQgCQ5cFHtIEZw 密码:mbca
升级cudnn的方法:https://blog.csdn.net/Teeyohuang/article/details/79660547 ,旧的cudnn5.1不用删除,直接用cudnn6覆盖就可以了。

附上cuda-cudnn-tensorflow版本对应关系:

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值