keras錯誤記錄:tensorflow.python.framework.errors_impl.UnknownError: Failed to get convolution algorithm

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.

2019-08-15 19:35:29.110540: I tensorflow/stream_executor/dso_loader.cc:152] successfully opened CUDA library cublas64_100.dll locally
2019-08-15 19:35:29.371235: E tensorflow/stream_executor/cuda/cuda_blas.cc:510] failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
2019-08-15 19:35:30.351904: E tensorflow/stream_executor/cuda/cuda_dnn.cc:334] Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED
2019-08-15 19:35:30.352445: E tensorflow/stream_executor/cuda/cuda_dnn.cc:334] Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED

這邊的原因是因爲gpu被佔用了。另一個任務還在跑。停止即可

或者

錯誤主要指向cudnn,但是CUDA版本和cudnn版本是符合當前tensorflow要求的,因此只能是GPU佔用問題導致的。解決方法如下:

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

import tensorflow as tf
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
with tf.Session(config=config) as sess:

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

import tensorflow as tf
from keras import backend as K
config = tf.ConfigProto()
config.gpu_options.allow_growth=True
sess = tf.Session(config=config)
K.set_session(sess)

轉載自:

https://blog.csdn.net/ghy_111/article/details/86672450

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章