Tensorflow基礎4-(epoch, iteration和batchsize)
阿新 • • 發佈:2018-12-12
- batchsize:批大小。在深度學習中,一般採用SGD訓練, 即每次訓練在訓練集中取batchsize個樣本訓練;
- iteration:1個iteration等於使用batchsize個樣本訓練一次;
- epoch:1個epoch等於使用訓練集中的全部樣本訓練一次;
舉個例子,訓練集有1000個樣本,batchsize=10,那麼: 訓練完整個樣本集需要:100次iteration,1次epoch。
2、 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大小