#从源码分析# TensorFlow fit 方法中的 steps_per_epoch 参数

对官方文档的总结如下:

  • 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 default None 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 a tf.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 the steps_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参数。数组输入不支持此参数。

你可能感兴趣的:(机器学习,TensorFlow,tensorflow,steps_per_epoch,fit,epoch,深度学习)