BatchNorm2d的使用

1. 先看用法

import torch
import torch.nn as nn

input = torch.randn(1, 2, 3, 4)
print(input)

BatchNorm2d的使用_第1张图片

bn = nn.BatchNorm2d(num_features=2)
res = bn(input)
print(res)

BatchNorm2d的使用_第2张图片

2. 作用

其实就是将一批feature map进行标准化处理。我们都学过正态分布的表达, x ˉ i = x − μ σ 2 {\bar x_i} = \frac{{x - \mu }}{{{\sigma ^2}}} xˉi=σ2xμ
同理,看看官方的表达式:
y = x − E [ x ] V a r [ x ] + ϵ ∗ γ + β y = \frac{x - \mathrm{E}[x]}{ \sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta y=Var[x]+ϵ xE[x]γ+β

3. 使用规则

计算的就是各个维度上的标准化,注意维度之间的对应规则
在这里插入图片描述

4. 其他的参数的含义,参考连接:

  1. Pytorch中的BatchNorm2d的参数解释
  2. BatchNorm2d原理、作用及其pytorch中BatchNorm2d函数的参数讲解

你可能感兴趣的:(Pytorch问题整理)