举例:有10000个样本, batch size为10,也就是说iteration(迭代次数)为1000次,训练完所有的样本需要1epoch。
Batch Size:
批大小,也就是说一次训练样本的数量。 比如有10000个样本,如果GPU性能ok的情况下,Batch Size大点有助于训练速度,能很快训练完所有的样本。如果GPU性能较差,Batch Size太大会引起内存溢出,只能选择小的Batch Size。
增大Batch Size的优点:
1.提高内存利用率 2. 迭代次数减少,减少训练时间 3. 梯度下降方向准确度增加,训练震动的幅度减小。(实验证明)
对于正常数据集,如果 batch size过小,会导致训练数据难收敛。
因此,要在内存和训练速度等方面寻找平衡,选择合适的batch size。
Iteration:
每一次迭代的结果都会做为下一次迭代的初始值。 一次迭代=一次正向传播+反向传播
Epoch:
所有的样本训练一遍, 一个epoch=所有的样本的 一次正向传播+一次反向传播