could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED

电玩女神 2022-03-22 10:38 306阅读 0赞

训练、测试Tensorflow、Keras代码时,出现could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED、error retrieving driver version: Unimplemented: kernel reported driver version not implemented on Windows、could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM等错误。

2019012809455912.png

错误主要指向cudnn,但是CUDA版本和cudnn版本是符合当前tensorflow要求的,因此只能是GPU占用问题导致的。解决方法如下:

tensorflow 框架下设置GPU按需分配:

  1. import tensorflow as tf
  2. config = tf.ConfigProto()
  3. config.gpu_options.allow_growth = True
  4. with tf.Session(config=config) as sess:
  5. ...

keras框架(Tensorflow backend) 设置GPU按需分配:

  1. import tensorflow as tf
  2. from keras import backend as K
  3. config = tf.ConfigProto()
  4. config.gpu_options.allow_growth=True
  5. sess = tf.Session(config=config)
  6. K.set_session(sess)

** Tensorflow 2.0 设置GPU按需分配方式(没有session):

  1. gpus = tf.config.experimental.list_physical_devices('GPU')
  2. for gpu in gpus:
  3. tf.config.experimental.set_memory_growth(gpu, True)

发表评论

表情:
评论列表 (有 0 条评论,306人围观)

还没有评论,来说两句吧...

相关阅读