[pytorch] BN層計算

公式ドキュメントには、
BN レイヤーについて詳しく説明されています。

Pytorch の BatchNorm レイヤーの使用時に発生しやすい問題

class torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True)[source]

ミニバッチ 3D データで構成される 4D 入力に対するバッチ正規化操作
ここに画像の説明を挿入

データの各ミニバッチで、各入力次元の平均と標準偏差を計算します。ガンマとベータは、サイズ C (C は入力サイズ) の学習可能なパラメーター ベクトルです。

トレーニング中に、このレイヤーは各入力の平均と分散を計算し、移動平均を実行します。移動平均のデフォルトのモメンタム値は 0.1 です。

検証時には、トレーニングの平均/分散を使用して検証データが正規化されます。

パラメータ:

  • num_features: サイズ「batch_size x num_features x height」の予期される入力からの特徴の数
  • x width' eps: 数値の安定性を確保するため (分母が 0 に近づくことも、0 を取ることもできません)、分母に加算される値。デフォルトは 1e-5 です。勢い:
    動的平均と動的分散に使用される勢い。デフォルトは 0.1 です。
  • affine: ブール値を true に設定すると、学習可能なアフィン変換パラメータがこのレイヤーに追加されます。形:
  • 入力:(N、C、H、W) - 出力:(N、C、H、W)(入力、出力共通)

おすすめ

転載: blog.csdn.net/condom10010/article/details/129541105