could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR问题解决方案

最近在训练CNN的时候,会出现这个
tensorflow能够成功导入,但是在导入keras模型(例如在使用vgg19时),出现了。

声明一下,我这里出现问题的时使用的是Tensorflow2.1gpu版本的,1.x的我不太确定能不能解决。可以一试。
网上查阅的资料解释为显存不够,或者cudnn版本不对,但是我在之前跑一些简单模型时,都未曾出现过这个问题,因此显存不够导致报错的可能性更大。不过解决办法我也找到了,有两种(其实本质还是差不多的):

修改时,直接将下面的代码放到导入的库后面,比如这样:
could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR问题解决方案_第1张图片

第一种:

devices = tf.config.experimental.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(devices[0], True)

第二种 (这一种稍微改一下,应该可以用于1.x版本类似问题的解决)

from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

你可能感兴趣的:(机器学习,tensorflow,深度学习)