Machine learning PyTorch中BatchNormal1d的输出与手动规范化输入维度的输出不匹配

Machine learning PyTorch中BatchNormal1d的输出与手动规范化输入维度的输出不匹配,machine-learning,batch-normalization,pytorctl,Machine Learning,Batch Normalization,Pytorctl,为了理解BatchNorm1d在PyTorch中的工作原理,我尝试将二维张量上BatchNorm1d操作的输出与手动规范化匹配。手动输出似乎缩小了0.9747倍。下面是代码(请注意,affine设置为false): 输出为: 0.9747 0.9747 0.9747 .... 对batchNormal2D执行相同的操作不会产生任何问题。BatchNorm1d如何计算其输出?找出原因torch.var在计算方差时使用贝塞尔校正。传递属性unbiased=False会给出相同的值 0.9747 0

为了理解
BatchNorm1d
在PyTorch中的工作原理,我尝试将二维张量上
BatchNorm1d
操作的输出与手动规范化匹配。手动输出似乎缩小了0.9747倍。下面是代码(请注意,affine设置为false):

输出为:

0.9747
0.9747
0.9747
....

batchNormal2D
执行相同的操作不会产生任何问题。
BatchNorm1d
如何计算其输出?

找出原因
torch.var
在计算方差时使用贝塞尔校正。传递属性
unbiased=False
会给出相同的值

0.9747
0.9747
0.9747
....