问题描述
我正在尝试使用TensorFlow的估算器。 在 ,以下代码用于训练和评估网络。
# 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楼
batch_size是一次处理的示例数。 TF将所有这些推入一个向前通过(并行),然后在同一集合上进行向后传播。 这是一个迭代或一步 。
steps参数告诉TF运行5000次这些迭代以训练模型。
一个时期就是将训练集中的每个示例都正确地对待一次。 例如,如果您有一百万个示例,批处理大小为200,那么一个纪元需要5000步:200 * 5.000 = 1.000.000
这样可以清除术语吗?