TensorFlow Estimators中的“批次”和“步骤”是什么?它们与时代有何不同?

时间:2017-02-08 21:55:37

标签: python machine-learning tensorflow neural-network training-data

我正在尝试使用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互动?

谢谢!

1 个答案:

答案 0 :(得分:4)

batch_size 是一次处理的示例数。 TF通过一个正向通道(并行)推动所有这些通过并在同一组上进行反向传播。这是一个迭代步骤

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

一个纪元正在对训练集中的每个示例进行一次处理。例如,如果您有一百万个示例且批量大小为200,那么您需要5000步到一个时期:200 * 5.000 = 1.000.000

这会清除术语吗?