今天在用fashion_mnist这个数据集做图像分类模型的时候用卷积神经网络训练模型,模型训练的时候报了这个错误:
UnknownError: 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.
多方查阅资料,一般有这两个原因造成:
1:显存不够,有其他应用占用了显存:
可以打开任务管理器,关闭其他占用显存的进程
也可以在训练代码前面加上这一段代码:(本人Tensorflow版本2.6.0)
限制训练占用的显存比例
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = tf.compat.v1.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.85 #占用85%显存
session = tf.compat.v1.Session(config=config)
2:cuDNN的版本过低:
我在训练的时候没有爆显存但是依然出现上述报错,于是去N卡官网下载了更新的cuDNN压缩包重新安装了cuDNN,问题得到解决。
关于如何安装CUDA、cuDNN可参考另一篇博文:
https://blog.csdn.net/qq_36428822/article/details/120468219?spm=1001.2014.3001.5501