訓練時的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