对官方文档的总结如下:
steps_per_epoch
用于指定每个epoch
所使用的迭代次数- 当
fit
方法的输入数据是张量类型时,steps_per_epoch
默认为数据集中的样本数量除以批次大小 - 当fit方法的输入数据是
tf.data
时,每个epoch
会默认将数据集用尽 - 当fit方法的输入数据是
tf.data
且传递的数据是无限repent
时,必须指定steps_per_epoch
参数 - 数组输入不支持
steps_per_epoch
参数
在官方帮助文档中,steps_per_epoch 参数的说明如下:
steps_per_epoch – Integer or
None
. Total number of steps (batches of samples) before declaring one epoch finished and starting the next epoch. When training with input tensors such as TensorFlow data tensors, the defaultNone
is equal to the number of samples in your dataset divided by the batch size, or 1 if that cannot be determined. If x is atf.data
dataset, and ‘steps_per_epoch’ is None, the epoch will run until the input dataset is exhausted. When passing an infinitely repeating dataset, you must specify thesteps_per_epoch
argument. This argument is not supported with array inputs.
翻译后:
steps_per_epoch-int或“None”。声明一个epoch完成并开始下一个epoch之前的总步数(一批样品)。当使用输入张量(例如TensorFlow数据张量)进行训练时,默认值’None’等于数据集中的样本数量除以批次大小;如果无法确定,则默认为1。如果x是
tf.data
数据集,并且’steps_per_epoch’为None,则该时期将运行直到输入数据集用尽。传递无限重复的数据集时,必须指定steps_per_epoch
参数。数组输入不支持此参数。