Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
写在前面:
环境:Tensorflow2.0 + Python3.6
当读者看到此问题时,一定大概率遇到上述报错的信息,首先出现这个问题很明显,就cuDNN出问题,大概率不是你的tensorflow代码写的问题,其实还可以精确点说就是我们电脑机器出问题了。
遇到这个问题,笔者也去找了很多博客,试了一些方法,总结一下出现这个问题的可能有:
1)很多博客说说cuda和cudnn不比配,或者tensorflow版本太高。
-->如果你之前就成功跑过简单的tensorflow训练,我觉得可以忽略这个吧。但是安装cuda和cudnn版本不匹配是出现问题,匹对版本可看:深度学习1-深度学习环境安装,有这一篇就够了!Anaconda-Python+Tensorflow2.0-GPU+Keras+Pycharm
2)电脑GPU性能太低,内存不够支持模型训练(就是显卡爆)。大概是这种情况!!!这个也要分两种:
一是电脑性能还可以,只是当前训练模型太复杂,导致显卡内存耗尽了;
二是电脑性能不太好,小型模型训练就爆炸了,这种性能低的机器就有处理是否开启GPU训练的设置了
对策:
一是电脑性能还可以,只是当前训练模型太复杂,导致显卡内存耗尽了:
解决方法:让模型按需取用GPU
# 防止Tensorflow运行GPU内存不足造成错误
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
os.environ["CUDA_DEVICE_ORDE

本文针对TensorFlow 2.0环境下,使用GPU进行模型训练时出现的cuDNN初始化失败问题,提供了解决方案。主要包括调整GPU内存分配策略、直接使用CPU计算以及通过Anaconda正确安装匹配的CUDA和cuDNN版本。
最低0.47元/天 解锁文章
2827





