我正在尝试使用TensorFlow的估计器。在文档中,使用以下代码来训练和评估网络。
# Fitnn.fit(x=training_set.data, y=training_set.target, steps=5000)# Score accuracyev = 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是指一次处理的样本数量。TensorFlow会将这些样本一次性通过前向传递(并行处理),然后在同一组上进行反向传播。这是一个迭代,或称步骤。
steps参数告诉TensorFlow运行5000次这样的迭代来训练模型。
一个epoch是指训练集中每个样本都被处理一次。例如,如果你有一百万个样本,批次大小为200,那么你需要5000个步骤来完成一个周期:200 * 5000 = 1000000
这是否清楚了这些术语的含义?