Python num_时代和步骤之间有什么区别?

Python num_时代和步骤之间有什么区别?,python,machine-learning,tensorflow,Python,Machine Learning,Tensorflow,在tensorflow入门代码中: import tensorflow as tf import numpy as np features = [tf.contrib.layers.real_valued_column("x", dimension=1)] estimator = tf.contrib.learn.LinearRegressor(feature_columns=features) x = np.array([1., 2., 3., 4.]) y = np.array([0.,

在tensorflow入门代码中:

import tensorflow as tf
import numpy as np

features = [tf.contrib.layers.real_valued_column("x", dimension=1)]
estimator = tf.contrib.learn.LinearRegressor(feature_columns=features)
x = np.array([1., 2., 3., 4.])
y = np.array([0., -1., -2., -3.])
input_fn = tf.contrib.learn.io.numpy_input_fn({"x":x}, y, batch_size=4, num_epochs=1000)
estimator.fit(input_fn=input_fn, steps=1000)
estimator.evaluate(input_fn=input_fn)

我知道批量大小是什么意思,但是当只有4个培训示例时,num_epoch和steps分别意味着什么?

一个epoch意味着使用您拥有的全部数据

步骤意味着使用单个批次数据

因此,
n\u steps=单个历元中的数据数//批处理大小

根据,

  • 步骤:要训练模型的步骤数。如果没有,就永远训练steps的工作原理是递增的。如果您调用两次fit(步骤=10),那么培训将总共进行20个步骤。如果您不希望有增量行为,请改为设置最大步数。如果设置,则“最大步数”必须为“无”

  • 批次大小:用于输入的最小批次大小,默认为x的第一个维度。如果提供输入,则必须为无


num\u epochs
表示
输入将返回整个批次的次数

步骤
指示函数应运行多少次

对于此处的对象
估计器
方法,它将停止运行超过“步数”次,或者
输入停止提供数据,如下所示:

对于每个步骤,调用input_fn,它返回一批数据。计算直到:-处理批处理的步骤,或-input\u fn引发输入结束异常(OutOfRangeError或StopIteration)


可能的复制品我想这是的复制品。你可能会在那里找到一个解释得很好的答案。另外,请查看文档:谢谢。这确实很有帮助。这是有道理的,但是这里的num_时代呢?总共只有4个示例。我尝试了num_epochs和steps的不同值,发现steps不能大于num_epochs。也许num_epochs是训练次数的上限,steps是实际训练次数。谢谢。