【问题标题】:Compute the number of epoch from iteration in training?计算训练中迭代的时期数?
【发布时间】:2019-06-20 11:49:31
【问题描述】:

我有一个 Caffe prototxt 如下:

stepsize: 20000
iter_size: 4
batch_size: 10
gamma =0.1

其中,数据集有 40.000 张图像。这意味着在 20000 次迭代后,学习率将降低 10 倍。在 pytorch 中,我想计算 epoch 的数量以在 caffe 中具有相同的行为(用于学习率)。我应该使用多少个 epoch 来将学习率降低 10 倍(请注意,我们有 iter_size=4 和 batch_size=10)。谢谢

参考:Epoch vs Iteration when training neural networks

我的回答:示例:如果您有 40000 个训练示例,并且批量大小为 10,那么完成 1 个 epoch 需要 40000/10 =4000 次迭代。因此,在 caffe 中降低学习率的 20000 个迭代将与 pytorch 中的 5 个 epoch 相同。

【问题讨论】:

    标签: machine-learning neural-network deep-learning caffe pytorch


    【解决方案1】:

    您没有考虑到iter_size: 4:当批处理太大而无法放入内存时,您可以将其“拆分”为多个迭代。
    在您的示例中,实际批量大小为 batch_sizexiter_size=10 * 4 = 40。因此,一个 epoch 只需要 1,000 次迭代,因此您需要在 20 个 epoch 后降低学习率。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-15
      • 2020-09-22
      • 2022-12-20
      • 2014-07-22
      • 1970-01-01
      • 1970-01-01
      • 2011-06-12
      相关资源
      最近更新 更多