#tensorflow #tensorflow2.0 #tensorflow-federated
#tensorflow #tensorflow2.0 #tensorflow-федеративный
Вопрос:
Есть ли какой-либо способ в federated-tensorflow заставить клиентов обучать модель для нескольких эпох в их наборе данных? В руководствах я обнаружил, что решением может быть изменение набора данных путем запуска 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.