TensorFlow Estimators 中的 'batches' 和 'steps' 是什么?它们与 epoch 有何不同?

What are 'batches' and 'steps' in TensorFlow Estimators and how do they differ from epochs?

我正在尝试使用 TensorFlow 的 Estimators。在documentation中,以下代码用于训练和评估网络。

# Fit
nn.fit(x=training_set.data, y=training_set.target, steps=5000)

# Score accuracy
ev = nn.evaluate(x=test_set.data, y=test_set.target, steps=1)
loss_score = ev["loss"]
print("Loss: %s" % loss_score)

整个训练集都传入了,但是我们有steps=5000。这是否意味着只考虑集合中的前 5000 个示例?

batch_size 参数在此上下文中是什么意思,它如何与 steps 交互?

谢谢!

batch_size是一次处理的样本数。 TF 推动所有这些通过一次前向传球(并行),然后在同一组上使用 back-propagation。这是一个迭代,或步骤

steps 参数告诉 TF 运行 5000 次迭代来训练模型。

一个 epoch 正在处理训练集中的每个示例一次。例如,如果您有 100 万个样本,批量大小为 200,那么一个时期需要 5000 步:200 * 5.000 = 1.000.000

这是否澄清了术语?