参考: 深度学习中的Epoch,Batchsize,Iterations,都是什么鬼? - 简书
在训练模型时,如果训练数据过多,无法一次性将所有数据送入计算,那么我们就会遇到epoch,batchsize,iterations这些概念。为了克服数据量多的问题,我们会选择将数据分成几个部分,即batch,进行训练,从而使得每个批次的数据量是可以负载的。将这些batch的数据逐一送入计算训练,更新神经网络的权值,使得网络收敛。
epoch
一个epoch指代所有的数据送入网络中完成一次前向计算及反向传播的过程。由于一个epoch常常太大,计算机无法负荷,我们会将它分成几个较小的batches。
Batch Size
Batch就是每次送入网络中训练的一部分数据,而Batch Size就是每个batch中训练样本的数量。
每次送入训练的不是所有数据而是一小部分数据。
iterations
所谓iterations就是完成一次epoch所需的batch个数。
batch numbers就是iterations。
栗子
简单一句话说就是,我们有2000个数据,分成4个batch,那么batch size就是500。运行所有的数据进行训练,完成1个epoch,需要进行4次iterations。