1. 程式人生 > >batch_size引數設定

batch_size引數設定

Batch_size:

定義:一次性讀入多少批量的圖片,不是樣本。

Full Batch Learning:Batch_size=資料集大小,適用於小資料集。
Mini-batches Learning:Batch_size= N(自己設定),適用於大資料集。
Online Learning(線上學習):Batch_size=1,

如何選擇Batch_size?

A:一定範圍內增大Batch_size:
1、提高了記憶體的利用率,大矩陣乘法的並行化效率提高
2、跑完一次epoch所需要的迭代次數減少,相同資料量的資料處理速度加快。
3、Batch_size越大下降方向越準,引起的訓練震盪越小。
4、缺點:記憶體溢位、訓練時間增加、收斂緩慢、區域性最優,泛化性差
          B:Batch_size過小:修正方向以各自樣本的梯度方向修正難以達到收斂。

總結:
     首先根據視訊記憶體大小選擇Batch_size;其次根據自己的實際情況調整Batch_size,調參重在“調”,根據實際情況選擇合適的引數。設定好Batch_size後,每一次epoch記得shuffle一次,不要讓網路通過相同的minibach。