1. 程式人生 > >深度學習Epoch、Iteration、Batchsize理解和說明

深度學習Epoch、Iteration、Batchsize理解和說明

參考:https://blog.csdn.net/xiaohuihui1994/article/details/80624593 

mnist 資料集有 60000 張圖片作為訓練資料,10000 張圖片作為測試資料。現在選擇 Batch Size = 100 對模型進行訓練。

每個 Epoch 要訓練的圖片數量:60000(訓練集上的所有影象)
訓練集具有的 Batch 個數: 60000/100=600
每個 Epoch 需要完成的 Batch 個數: 600
每個 Epoch 具有的 Iteration 個數: 600(完成一個Batch,相當於引數迭代一次)
每個 Epoch 中發生模型權重更新的次數:600
訓練 10 個Epoch後,模型權重更新的次數: 600*10=6000
不同Epoch的訓練,其實用的是同一個訓練集的資料。第1個Epoch和第10個Epoch雖然用的都是訓練集的60000圖片,但是對模型的權重更新值卻是完全不同的。因為不同Epoch的模型處於代價函式空間上的不同位置,模型的訓練代越靠後,越接近谷底,其代價越小。
總共完成30000次迭代,相當於完成了 30000/600=50 個Epoch