Ошибка нехватки памяти Google Cloud ML Engine, когда использование памяти почти равно нулю

Я следую руководству по Tensorflow Object Detection API, чтобы обучить модель Faster R-CNN на моем собственном наборе данных в Google Cloud. Но следующая ошибка «недостаточно памяти» продолжала происходить.

The replica master 0 ran out-of-memory and exited with a non-zero status of 247.

И по логам возвращался ненулевой выходной статус -9. Как описано в официальной документации, код -9 может означать, что обучение использует больше памяти, чем выделено.

Однако использование памяти ниже 0,2. Так почему у меня проблемы с памятью? Если это поможет, график использования памяти здесь.


person Changsong Dong    schedule 28.07.2017    source источник


Ответы (3)


График использования памяти представляет собой среднее значение по всем рабочим процессам. В случае ошибки нехватки памяти также не гарантируется, что окончательные точки данных будут успешно экспортированы (например, резкий скачок памяти). Мы предпринимаем шаги, чтобы сделать графики использования памяти более полезными.

Если вы используете мастер для оценки (как показано в большинстве примеров), то мастер использует примерно в 2 раза больше оперативной памяти по сравнению с обычным рабочим процессом. Вы можете использовать тип машины.

person rhaertel80    schedule 28.07.2017
comment
Я использовал тип машины large_model после получения той же ошибки, но он не прошел после того же количества шагов обучения, что и уровень масштабирования STANDARD_1. Вы знаете, что может исправить это? - person tzharg; 07.01.2018
comment
@ rhaertel80, Решает ли эту проблему увеличение числа рабочих, или мы должны использовать более крупную модель машины, как вы сказали? - person Khanh Le; 11.01.2018

В учебнике running_pets используется уровень BASIC_GPU, поэтому, возможно, у графического процессора закончилась память. Графики на движке ML в настоящее время показывают только использование памяти ЦП.

Если это так, изменение вашего уровня на более крупные графические процессоры решит проблему. здесь представлена ​​некоторая информация о различных уровнях. На той же странице вы найдете пример файла yaml о том, как его настроить.

person Hafplo    schedule 23.01.2018

Глядя на вашу ошибку, кажется, что ваш код ML потребляет больше памяти, чем было выделено изначально.

Попробуйте использовать тип машины, который позволяет вам больше памяти, например «large_model» или «complex_model_l». Используйте config.yaml, чтобы определить его следующим образом:

trainingInput:
 scaleTier: CUSTOM
 # 'large_model' for bigger model with lots of data
 masterType: large_model
 runtimeVersion: "1.4"

Есть похожий вопрос: машинному обучению Google Cloud не хватает памяти. Пожалуйста, обратитесь к этой ссылке для фактического решения.

person Hafizur Rahman    schedule 14.12.2017