Tensorflow: как вручную осколить набор данных - PullRequest
2 голосов
/ 12 февраля 2020

Я использую MirroredStrategy для выполнения тренировки с несколькими графическими процессорами, и кажется, что данные не обрабатываются должным образом. Как вы go о ручном разделении данных?

Я знаю, что могу использовать метод shard для набора данных tf.data, но для этого мне нужен доступ к идентификатору работника, и я не могу выяснить, как получить это. Как получить доступ к рабочим идентификаторам?

1 Ответ

2 голосов
/ 12 февраля 2020

MirroredStrategy работает на одного работника (для нескольких работников MultiWorkerMirroredStrategy ). Поскольку он работает только на одном работнике, MirroredStrategy запускает один Dataset конвейер без какого-либо разделения данных. На каждом шаге MirroredStrategy запрашивает один элемент набора данных на каждого работника.

...