Как гарантировать каждому работнику чтение не дублированных данных в распределении ps-worker? - PullRequest
0 голосов
/ 06 июля 2018

Я пробую распределение TensorFlow, согласно документу здесь https://www.tensorflow.org/deploy/distributed, мы используем параллелизм данных. У меня есть настроенные сценарии ps-worker, все работает, как и ожидалось. но один запрос, пожалуйста, помогите:

как гарантировать каждому работнику чтение разных частей данных из смонтированного хранилища? например:

У меня есть данные: 1,2,3,4,5,6,7,8,9,10 в моем хранилище

и два рабочих: рабочий1 и рабочий2

Я предполагал, что worker1 будет читать данные: 1,2,5,7,9, а worker2 читает 3,4,6,8,10 из-за параллелизма данных. есть ли в TensorFlow какой-либо связанный код, реализующий такого рода магию, если нет, как гарантировать каждому работнику чтение разных фрагментов данных из смонтированного хранилища?

Спасибо, Аллен Чжан

1 Ответ

0 голосов
/ 19 июля 2018

Краткий ответ: встроенная поддержка разделения данных в текущем тензорном потоке ядра отсутствует.Для получения более подробной информации и объяснения см. Лучший ответ на этот вопрос - Распределенное обучение с tf.estimator, результатом которого являются дополнительные шаги обучения .

Сказав это, в тяжелой разработке появилась новая более чистая абстракция.на данный момент основано на концепции DistributionStrategy.В этом модуле есть способ распространения набора данных - https://www.tensorflow.org/versions/master/api_docs/python/tf/contrib/distribute/DistributionStrategy#distribute_dataset. Однако этот модуль довольно грубый, и многие его части еще не реализованы.Я бы не советовал использовать его на данный момент, если вы не чувствуете себя очень предприимчивым.

...