Запуск нескольких эпох в клиентах федеративного тензорного потока

Есть ли способ в федеративном тензорном потоке заставить клиентов обучать модель для нескольких эпох в своем наборе данных? В обучающих материалах я обнаружил, что решение может модифицировать набор данных, запустив dataset.repeat (NUMBER_OF_EPOCHS), но зачем мне изменять набор данных?


person jackve    schedule 04.10.2020    source источник


Ответы (1)


tf.data.Dataset - это способ настройки TF2. Может быть, полезно думать о коде как о модификации конвейера данных, а не о самом наборе данных.

https://www.tensorflow.org/guide/data и особенно раздел https://www.tensorflow.org/guide/data#processing_multiple_epochs могут быть полезными указателями.

На высоком уровне tf.data API устанавливает поток примеров. Также можно настроить повторы (несколько эпох) этого потока.

dataset = tf.data.Dataset.range(5)
for x in dataset:
  print(x) # prints 0, 1, 2, 3, 4 on separate lines.

repeated_dataset = dataset.repeat(2)
for x in repeated_dataset:
  print(x) # same as above, but twice

shuffled_repeat_dataset = dataset.shuffle(
  buffer_size=5, reshuffle_each_iteration=True).repeat(2)
for x in repeated_dataset:
  print(x) # same as above, but twice, with different orderings.
person Zachary Garrett    schedule 05.10.2020