【发布时间】:2020-10-04 15:52:49
【问题描述】:
在 federated-tensorflow 中是否有任何方法可以让客户在其数据集上针对多个 epoch 训练模型?我在教程中发现一个解决方案可以通过运行 dataset.repeat(NUMBER_OF_EPOCHS) 来修改数据集,但我为什么要修改数据集?
【问题讨论】:
标签: tensorflow tensorflow2.0 tensorflow-federated
在 federated-tensorflow 中是否有任何方法可以让客户在其数据集上针对多个 epoch 训练模型?我在教程中发现一个解决方案可以通过运行 dataset.repeat(NUMBER_OF_EPOCHS) 来修改数据集,但我为什么要修改数据集?
【问题讨论】:
标签: tensorflow tensorflow2.0 tensorflow-federated
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.
【讨论】: