1. 程式人生 > >Tensorflow基礎4-(epoch, iteration和batchsize)

Tensorflow基礎4-(epoch, iteration和batchsize)

  • 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大小