深度学习中经常看到 epoch、 iteration 和 batchsize,下面按自己的理解说说这三个的区别:
(1)batchsize:批大小。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练;
(2)iteration:1个iteration等于使用batchsize个样本训练一次;
(3)epoch:1个epoch等于使用训练集中的全部样本训练一次;
举个例子,训练集有1000个样本,batchsize=10,那么:
训练完整个样本集需要:
100次iteration,1次epoch。
使用 caffe 做图像 CNN 训练时 epoch、 iteration 和 batchsize 的含义
一个epoch表示“大层面上的一次迭代”,也就是指,(假定是训练阶段)处理完所有训练图片,叫一个epoch
但是每次训练图片可能特别多,内存/显存塞不下,那么每个epoch内,将图片分成一小堆一小堆的,每一小堆图片数量相等,每一小堆就是一个batch(批次)。
因而,一个epoch内,就要处理多个batch。
batch_size表示的是,每个batch内有多少张图片。
而一个epoch,一共需要分成多少个batch呢?这个batch的数目,就叫做train_iter(训练阶段)或者test_iter(测试阶段)
总结:
train_iter * batch_size = 一个epoch要处理的所有图片(可能因为整除的原因,不严格相等,让左边略大即可。训练阶段)
或者:
train_iter * batch_size = 一个epoch要处理的所有图片(测试阶段。)
本文详细解释了深度学习训练过程中的三个核心概念:epoch、iteration和batchsize,并通过实例帮助理解这些概念之间的区别及如何在实际训练中应用。
8万+

被折叠的 条评论
为什么被折叠?



