epoch、 iteration 和 batchsize 的理解

深度学习中经常看到 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要处理的所有图片(测试阶段。)


你可能感兴趣的:(语音识别)