Failed to get convolution algorithm. This is probably because cuDNN failed to initialize解决办法
在网上看了很多说法,总结就两种情况:
- cudnn和tensorflow的版本不相符
- GPU内存不足造成
第一种情况:
需要查出cuda、cudnn、tensorflow的版本对应关系,cuda版本只能是9.0,10.0的整数版本,切勿下载9.2等小数版本,容易出现版本匹配不好的问题。
具体请参照,版本关系对应表
如果出现版本不符的情况,需要调整,因为cuda和Cudnn是组合使用,装起来也比较麻烦,如果对tensorflow版本没有特殊需求的情况,建议调整tensorflow的版本。
第二种情况:
有可能是显存不足的情况,显存较小的小伙伴或者是运算较大数据的小伙伴需要注意这一种情况
如果出现可以在程序前面写上如下代码:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)
这是让GPU合理使用资源的代码。