Batch
在训练模型时,如果训练数据过多,无法一次性将所有数据送入计算。为了克服数据量多的问题,我们会选择将数据分成几个部分,即batch,进行训练,从而使得每个批次的数据量是可以负载的。每次送入训练的不是所有数据而是一小部分数据,另外,batch size 和batch numbers不是同一个概念。
Batch Size
所谓Batch就是每次送入网络中训练的一部分数据,而Batch Size就是每个batch中训练样本的数量。
Batch size大小的选择至关重要。为了在内存效率和内存容量之间寻求最佳平衡,batch size应该精心设置,从而最优化网络模型的性能及速度。
Epoch
一个epoch指代所有的数据送入网络中完成一次前向计算及反向传播的过程
为什么我们需要多个epoch呢?因为在训练时,将所有数据迭代训练一次是不够的,需要反复多次才能拟合收敛。
Iterations
所谓iterations的次数就是完成一次epoch所需的batch个数。
简单来说,我们有2000个数据,若分成4个batch,那么batch size就是500,也就是每个Batch有500个样本。将所有的数据进行训练一次,完成1个epoch,需要进行4次iterations。