排坑:tensorflow.python.framework.errors_impl.UnknownError: Failed to get convolution algorithm. This

一,问题描述

在使用tensorflow-gpu时,出现下面的错误:

tensorflow.python.framework.errors_impl.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.
[[node sequential/conv2d/Conv2D (defined at tf_keras_classification_model-cnn.py:107) ]] [Op:__inference_distributed_function_930]
Function call stack:
distributed_function

二,解决方法

使用tensorflow,如果不加设置,即使是很小的模型也会占用整块GPU,造成资源浪费。 所以我们需要设置,使程序按需使用GPU。

在代码前添加如下几行代码,实现tensorflow按需分配GPU

from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
# 定义TensorFlow配置
config = ConfigProto()
# 配置GPU内存分配方式,按需增长,很关键
config.gpu_options.allow_growth = True
# 在创建session的时候把config作为参数传进去
session = InteractiveSession(config=config)

你可能感兴趣的:(tensorflow,keras,排坑,tensorflow,nlp,keras,人工智能)