- Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.
Во время вывода модели нейронной сети сообщается об ошибке
Internal: cuDNN launch failure : input shape ([1,3,2048,2048]) node bn_data/FusedBatchNorm
, эта статья документирует решение.
Анализ причин
В Интернете подозревают, что проблема вызвана слоем BN, и удаление слоя BN может решить проблему.TensorFlow на практике InternalError: сбой запуска cuDNN: форма ввода (не разрешена для связи).
Смена версии cudnn тоже не помогла.
На самом деле скорее проблема с конфигурацией видеопамяти TensorFlow (на самом деле доказательств нет, но неисправность можно исключить по этой идее, так что этот фактор должен быть причиной с максимальной вероятностью)
решение
Добавьте в код конфигурацию для выделения видеопамяти по требованию:
план 1
con = tf.ConfigProto()
con.gpu_options.allow_growth = True
keras.backend.tensorflow_backend.set_session(tf.Session(config=con))
Сценарий 2
os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true'
Принцип тот же, только способ написания другой.