问题描述
联合张量流中是否有任何方法可以使客户端为数据集中的多个时期训练模型?我在教程中发现,一种解决方案可以通过运行dataset.repeat(NUMBER_OF_EPOCHS)来修改数据集,但是为什么要修改数据集?
解决方法
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.