Я использую 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.