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
这是否澄清了术语?
我正在尝试使用 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
这是否澄清了术语?