Caffe:深度学习中 epoch,batch size, iterations的区别

转自:http://blog.csdn.net/qq_18515405/article/details/51821125

在大部分深度学习架构中都抛不开三个概念epoch,[batch size], iterations;接下来就对这三个概念逐一解释一下

  • one epoch:所有的训练样本完成一次Forword运算以及一次BP运算

  • batch size:一次Forword运算以及BP运算中所需要的训练样本数目,其实深度学习每一次参数的更新所需要损失函数并不是由一个{data:label}获得的,而是由一组数据加权得到的,这一组数据的数量就是[batch size]。当然batch size 越大,所需的内存就越大,要量力而行

  • iterations(迭代):每一次迭代都是一次权重更新,每一次权重更新需要batch size个数据进行Forward运算得到损失函数,再BP算法更新参数。

最后可以得到一个公式:
one epoch = numbers of iterations = N = 训练样本的数量/batch size

一次epoch 总处理数量 = iterations次数 * batch_size大小

关于batch_size作用及设置相关

你可能感兴趣的:(batch,深度学习,Epoch,iterations)