在TensorFlow估计器中什么是’批次’和’步骤’?它们与’周期’有何不同?

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

这是否清楚了这些术语的含义?

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注