Как отладить нехватку памяти в tenorflow2-GPU - PullRequest
0 голосов
/ 30 марта 2020

Я использую GPU tenorflow-2 с tf.data.Dataset. Обучение на маленьких моделях работает.

При обучении больших моделей сначала все работает: используется gpu, первая эпоха работает без проблем (но я использую большую часть своей памяти gpu).

Во время проверки я сталкиваюсь с CUDA_ERROR_OUT_OF_MEMORY с различным распределением с меньшим и меньшим количеством байтов, которые не могут быть выделены (в диапазоне от 922 МБ до 337 МБ). В настоящее время у меня нет метрик и обратных вызовов, и я использую tf.keras.Model.fit. Если я удалю данные проверки, обучение продолжится.

В чем моя проблема? Как я могу отладить это?

В TF1 я мог бы использовать RunOptions(report_tensor_allocations_upon_oom=True), существует ли какой-либо эквивалент в TF2?

Это происходит с тензорным потоком == 2.1.0.

1 Ответ

0 голосов
/ 30 марта 2020

Это не происходило в 2.0 альфа TensorFlow, но в 2.0.

Пипс устанавливает tenorflow-gpu == 2.0.0: утечка памяти!
Пипс установки tenorflow-gpu == 2.0.0-альфа: все в порядке!

Попробуйте

...