Есть ли способ в федеративном тензорном потоке заставить клиентов обучать модель для нескольких эпох в своем наборе данных? В обучающих материалах я обнаружил, что решение может модифицировать набор данных, запустив dataset.repeat (NUMBER_OF_EPOCHS), но зачем мне изменять набор данных?
Запуск нескольких эпох в клиентах федеративного тензорного потока
Ответы (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