要计算训练迭代中的纪元数?

时间:2019-01-27 06:37:57

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

我有如下Caffe原型:

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

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

参考:Epoch vs Iteration when training neural networks

我的答案:示例:如果您有 40000 个培训示例,并且批处理大小为10,那么将需要 40000/10 = 4000 次迭代来完成1个纪元。因此, 20000 次降低咖啡因学习率的步骤与pytorch中的 5 个时期相同。

1 个答案:

答案 0 :(得分:2)

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