训练时的Iteration、batchsize、epoch和loss的关系


训练时的Iteration、batchsize、epoch和loss的关系

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/GL3_24/article/details/90297077

batchsize:批处理大小。一次训练所选取的样本数。 它的大小影响模型的优化程度和速度。
Iteration:迭代次数。一次Iteration就是batchsize个训练数据前向传播和反向传播后更新参数的过程。
epoch:所有训练数据前向传播和反向传播后更新参数的过程。也就是我们认为的所有数据集跑了一遍。
如果训练集大小是100000。batchsize为100,那么一个epoch需要1000次Iteration。

即:1 epoch = 训练集大小(100000) / batchsize(100) = 1000次Iteration

      
      
      
     
     
     
  • 1

loss:在训练过程中,训练日志中会输出loss值。这个loss值是每一个Iteration得到的loss值,也就是一个batchsize个训练数据前向传播和反向传播后更新参数的过程之后得到的loss值。

其实每次迭代都会得到一个loss值,只是我们在solver.prototxt中设置了display超参数,隔多少次显示一次。
更简单直接的理解就是, Iteration 0, loss = 0.693502,代表的是没有迭代时的loss, Iteration 1, loss =~~代表的是第一次迭代时的loss,也就是第一个batchsize个训练数据的loss,同理,第50次代表50个batchsize个训练数据的loss。

作者:GL3_24
来源:CSDN
著作权归作者所有。转载请联系作者获得授权。

                                </div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e44c3c0e64.css" rel="stylesheet">
                </div>
</article>
posted @ 2019-09-08 10:13  FlyingPanguins  阅读( 630)  评论( 0编辑  收藏


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM