Keras, Tensorflow, CuDDN не удается инициализировать - PullRequest
1 голос
/ 15 июня 2019

У меня очень мощный ПК с Windows (под управлением Windows 10), который имеет 112 ГБ памяти, 16 ядер и 3 X Geforce RTX2070 (не поддерживает SLI и т. Д.). Это работает CuDNN 7.5 + Tensorflor 1.13 + Python 3.7

Моя проблема в том, что я получаю ошибку ниже - всякий раз, когда я пытаюсь запустить модель Keras для обучения или сделать прогноз на основе матрицы. Сначала я думал, что это произойдет, только если я запустил более одной программы одновременно, но это не так, теперь я также получаю сообщение об ошибке, когда запускаю только один экземпляр Keras (часто - но не всегда)

2019-06-15 19: 33: 17.878911: I tenorflow / core / common_runtime / gpu / gpu_device.cc: 1115] Создано Устройство TensorFlow (/ job: localhost / replica: 0 / task: 0 / device: GPU: 2 с 6317 МБ памяти) -> физический графический процессор (устройство: 2, название: GeForce RTX 2070, идентификатор шины pci: 0000: 44: 00.0, вычислительная мощность: 7,5) 2019-06-15 19: 33: 23.423911: I tenorflow / stream_executor / dso_loader.cc: 152] успешно открыта CUDA библиотека cublas64_100.dll локально 2019-06-15 19: 33: 23.744678: E tenorflow / stream_executor / cuda / cuda_blas.cc: 510] не удалось создать дескриптор cublas: CUBLAS_STATUS_ALLOC_FAILED 2019-06-15 19: 33: 23.748069: E tenorflow / stream_executor / cuda / cuda_blas.cc: 510] не удалось создать дескриптор cublas: CUBLAS_STATUS_ALLOC_FAILED 2019-06-15 19: 33: 23.751235: E tenorflow / stream_executor / cuda / cuda_blas.cc: 510] не удалось создать дескриптор cublas: CUBLAS_STATUS_ALLOC_FAILED 2019-06-15 19: 33: 25.267137: E tenorflow / stream_executor / cuda / cuda_dnn.cc: 334] Не удалось создать дескриптор cudnn: CUDNN_STATUS_ALLOC_FAILED 2019-06-15 19: 33: 25.270582: E tenorflow / stream_executor / cuda / cuda_dnn.cc: 334] Не удалось создать дескриптор cudnn: CUDNN_STATUS_ALLOC_FAILED Исключение: Не удалось получить алгоритм свертки. Это, вероятно, потому что cuDNN не удалось инициализировать, поэтому попробуйте посмотреть, не появилось ли сообщение журнала предупреждения был напечатан выше. [[{{node conv2d_1 / convolution}}]] [[{{node density_3 / Sigmoid}}]]

1 Ответ

1 голос
/ 15 июня 2019

Добавьте следующее к вашему коду

from keras.backend.tensorflow_backend import set_session
import tensorflow as tf
config = tf.ConfigProto()
config.gpu_options.allow_growth = True  # dynamically grow the memory used on the GPU
config.log_device_placement = True  # to log device placement (on which device the operation ran)
sess = tf.Session(config=config)
set_session(sess)  # set this TensorFlow session as the default session for Keras
...