在联邦张量流的客户端中运行多个时期

问题描述

联合张量流中是否有任何方法可以使客户端为数据集中的多个时期训练模型?我在教程中发现,一种解决方案可以通过运行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.

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...