cuda out of memory报错,Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)等
似乎是因为TensorFlow申请不到足够的显存,所以罢工了。相信你自己的电脑,其实它足够用的(大概…吧,除非电脑是真的8太行哈哈哈)
方法一:
先试一下这位博主的方法:
直接关闭其他正在运行的终端(含浏览器),重新启动运行即可
不行的话,方法二(我用的是这个):
一切脱离了具体环境解决报错的办法都是耍流氓! 先说一下我的环境
anaconda3 + cuda8.0.x + cudnn6.0.x + conda的虚拟环境(tensorflow-gpu1.3.0)
前面的三个我都安装好了,没问题。
查看cuda和cudnn版本:
nvcc --version
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
问题就在这conda的虚拟环境。
原因:虽然系统下安装的是cudnn6.0,但是在创建conda虚拟环境并安装tensorflow-gpu==1.3.0的时候,anaconda自动安装了cudnn7.x,这是不是很傻…的。
使用
conda list
可以查看conda环境下安装的cudnn。
然后寻找cudnn的版本,在解决之前,这里conda很傻缺的给我安装的是cudnn 7.x的(上面的照片是解决了问题之后的,之前是7.x),然后我卸载了cudnn7.x,自己安装cudnn6.0,手动安装时参考了这个博客。感谢。
conda uninstall cudnn
上面的命令行可能会同时把tensorflow-gpu也卸载,导致import tensorflow时报错。没关系,装完cudnn之后,再装一遍tensorflow-gpu==1.3就好了。
然后在conda的虚拟环境里寻找可用的cudnn
conda search cudnn
根据你的cuda版本,选择对应的cudnn版本,在conda环境里进行安装:
我的应该安装这个conda install cudnn==6.0.21
注意:在conda的环境里,我这里conda环境叫tensorflow,如下图左上角所示。
**!**在卸载的时候别忘啦看一下是不是把tensorflow-gpu也卸载了,卸了的话再安一遍
conda install tensorflow-gpu==1.3.0 numpy==1.16
安装完成之后这样的
然后就可以愉快地运行代码了~