Правильный способ запуска распределенного обучения в ML Engine - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь обучить свою модель (которая не построена с помощью tf.estimator или tf.keras), используя распределенное обучение в ML Engine.

Какие шаги я должен предпринять, чтобы запустить распределенное учебное задание в ML Engine?

Я нашел следующие рекомендации:

Так что, если ранее предоставлено вкомандная строка означает, что мне не нужно ничего делать с последним, потому что ML Engine каким-то образом заботится о распределении моего графика по устройствам?Или мне нужно сделать и то и другое?

А также, что произойдет, если я вручную укажу устройства, используя:

with tf.device('/gpu:0/1/2/etc')

.., а затем запусту команду с --scale-tier?

1 Ответ

0 голосов
/ 15 мая 2018

Существует два возможных сценария:

- Вы хотите использовать машины с процессором:

В этом случае вы правы. Использование параметра --scale-tier достаточно для задания, которое автоматически распространяется в ML Engine.

У вас есть несколько вариантов уровня шкалы {1}.

- Вы хотите использовать машины с графическим процессором:

В этом случае вам нужно определить файл config.yaml, в котором описаны нужные вам параметры графического процессора, и запустить команду gcloud, чтобы запустить задание ML Engine с config.yaml в качестве параметра {2}.

Если вы используете with tf.device('/gpu:0/1/2/etc') внутри своего кода, вы принудительно используете это устройство, и оно переписывает нормальное поведение. {3}.

{1}: https://cloud.google.com/ml-engine/reference/rest/v1/projects.jobs#scaletier

{2}: https://cloud.google.com/ml-engine/docs/tensorflow/using-gpus#requesting_gpu-enabled_machines

{3}: https://www.tensorflow.org/programmers_guide/using_gpu

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...