Caffe:深度学习中 epoch,[batch size], iterations的区别
始终感觉卡在深度学习的入门,感觉找不着路,慢慢来吧,这是我之前一直不太理解的三个参数,做个记录:
在大部分深度学习架构中都抛不开三个概念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 。
还没有评论,来说两句吧...