gpt4 book ai didi

machine-learning - epoch 和训练步骤是一回事吗?

转载 作者:行者123 更新时间:2023-11-30 08:33:35 33 4
gpt4 key购买 nike

features = [tf.contrib.layers.real_valued_column("x", dimension=1)]
estimator = tf.contrib.learn.LinearRegressor(feature_columns=features)
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)

例如,“steps=1000”和“num_epochs=1000”的含义完全相同吗?如果是,为什么需要复制?如果没有,我可以不同地设置这两个参数吗?

最佳答案

以下是任何机器学习算法或框架中的纪元和步骤之间的基本区别:

一旦框架遍历其训练集中的所有数据点以更新其参数,则称为一个时期。一步是参数的一次更新(例如,如果训练 DNN,则神经网络的权重)。此更新可以使用单个数据点、小批量数据点(例如随机抽取 100 个数据点,有或没有替换)或所有点来获得。因此,正如您所看到的,如果所有数据点都在一个步骤(或参数更新)中使用,那么它就成为一个纪元,即一步 = 一个纪元。

通常框架使用小批量处理,并且在一个步骤中它们将 100 个(或其他数量)数据点一起批处理并进行一次更新。在这种情况下,如果说您总共有 100 万个数据点 (10^6),那么一个时期有 10000 个步骤,因为一个步骤包含 100 个数据点。

关于machine-learning - epoch 和训练步骤是一回事吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43841566/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com