OOM при обучении на внешнем сервере GPU

Я пытаюсь обучить свой код глубокого обучения с помощью Keras с бэкэндом тензорного потока на удаленном сервере с графическим процессором. Однако даже сервер GPU сообщает OOM.

Это был результат:

2018-02-09 14: 19: 28.918619: I tensorflow / core / common_runtime / bfc_allocator.cc: 685] Статистика: Предел: 10658837300 InUse: 10314885120 MaxInUse: 10349312000 NumAllocs: 8762 MaxAllocSize: 1416551936

2018-02-09 14: 19: 28.918672: W tensorflow / core / common_runtime / bfc_allocator.cc: 277] ************ __ ************* ************************************************ ***************** xxxxxx 2018-02-09 14: 19: 28.918745: W tensorflow / core / framework / op_kernel.cc: 1182] Ресурс исчерпан: OOM при выделении тензора shape [13772,13772] и тип float 2018-02-09 14: 19: 29.294784: E tensorflow / core / common_runtime / executor.cc: 643] Исполнителю не удалось создать ядро. Ресурс исчерпан: OOM при выделении тензора формы [13772,13772] и типа float [[Node: training_4 / RMSprop / zeros = Constdtype = DT_FLOAT, value = Tensor, _device = "/ job: localhost / replica: 0 / task: 0 / device: GPU: 0 "]]

Есть ли способы решить эту проблему? Я попытался отрегулировать размер пакета, изначально он работал, когда размер пакета был 100, но когда я уменьшил его до 50, он показал эту ошибку. После чего я попробовал размер партии 100, но он снова отобразил ту же ошибку.

Я попытался найти способ приостановить обучающий двоичный код во время выполнения оценки, но ничего не получил.

Буду очень признателен за вашу помощь в этом! Спасибо!!


person mgkumar138    schedule 12.02.2018    source источник


Ответы (1)


Вместо этого вы можете попробовать использовать model.fit_generator.

person Xiang Lv    schedule 03.07.2018