Python torch库中的BatchNormalD()方法是如何工作的?

Python torch库中的BatchNormalD()方法是如何工作的?,python,pytorch,torch,Python,Pytorch,Torch,我在学火把,我不知道;我不知道这个问题是否愚蠢,但我找不到解释nn.batchnorm1d的官方网站。我想知道torch.nn.BatchNorm1d(d1)是如何工作的?我知道批次范数是关于使一批示例的均值和方差分别为0和1。我想知道是否有nn.batchnorm2d,如果有,它做什么?什么是d1参数?以下是PyTorch的BatchNorm的官方文档: 及 根据文档,我们需要指定num\u features参数,该参数是张量的输入大小。BatchNorm1d将2/3维数据(N,C)或(N,C

我在学火把,我不知道;我不知道这个问题是否愚蠢,但我找不到解释nn.batchnorm1d的官方网站。我想知道
torch.nn.BatchNorm1d(d1)
是如何工作的?我知道批次范数是关于使一批示例的均值和方差分别为0和1。我想知道是否有nn.batchnorm2d,如果有,它做什么?什么是
d1
参数?

以下是PyTorch的BatchNorm的官方文档:


根据文档,我们需要指定
num\u features
参数,该参数是张量的输入大小。

BatchNorm1d
将2/3维数据
(N,C)
(N,C,L)
的平均值和单位方差标准化为0,在每个
(N,L)
(N,)
slice;而
BatchNorm2d
对4个维度
(N,C,H,W)
执行相同的操作,在每个
(N,H,W)
切片上计算通道维度

使用哪一个取决于输入数据的维度。例如,在图像处理中,特征地图通常有两个空间维度(N、C、H、W),因此在这里很有用。然而,对于一些NLP任务,如果只考虑长度维度,则会使用。对于这两个函数,<代码> d1 参数是特征的数量,等于输入张量的Dime<代码> c>代码>。对于batchnorm 2D