python - torch 库中的 BatchNorm1d() 方法如何工作?

标签 python pytorch torch

我正在学习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/

相关文章:

lua - 如何使用 Torch 生成的模型进行预测?

python - 如何在 Sikuli 中使用 Python OpenCV 函数

python - 获取错误详细信息,例如 'openerp application error details'

python-3.x - Pytorch 运行时错误 : Expected tensor for argument #1 'indices' to have scalar type Long; but got CUDAType instead

python - PyTorch:如何解决运行时错误:就地操作只能用于不与任何其他变量共享存储的变量

python - 使用 skorch 和 sklearn 管道的多输出回归由于 dtype 导致运行时错误

python - 删除 Torch 张量中的行

python - 将 numpy 数组转换为字符串的最有效方法

python - 如何使用 Python ConfigParser 从配置文件中读取换行符

python - PyTorch 张量的加权平均值