我正在学习pytorch,我不知道这个问题是否愚蠢,但我找不到官方网站来解释nn.batchnorm1d。我想知道 torch.nn.BatchNorm1d(d1)
是如何工作的?我知道 batch norm 是关于使一批示例的均值和方差分别为 0 和 1。我想知道是否有nn.batchnorm2d,如果有,它有什么作用? d1
参数是什么?
最佳答案
BatchNorm1d
将 2/3 维数据 (N, C)
或 (N, C, L)< 的数据归一化为 0 均值和单位方差
,在每个 (N, L)
或 (N,)
切片的 channel 维度上计算;而 BatchNorm2d
对 4 个维度 (N, C, H, W)
做同样的事情,在每个 (N, H, W) 的 channel 维度上计算
切片。
使用哪一个取决于输入数据的维度。例如在图像处理中,特征图通常有 2 个空间维度 (N, C, H, W)
,所以 BatchNorm2d
在这里很有用。然而对于某些 NLP 任务,如果只考虑长度维度,可以使用 BatchNorm1d
。 .对于这两个函数,d1
参数是特征数,等于输入张量的 dim C
。
关于python - torch 库中的 BatchNorm1d() 方法如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61193517/