batchnorm2d函数理解,numpy数据归一化

 1.batchnorm2d

 深刻理解

 对一批数据,计算各个维度上的均值和标准差,一批数据有几个维度,就有几个均值,下面代码加红部分,一批数据(2,3,64,64),均值有3个

 m = nn.BatchNorm2d(3,affine=True) 
 input = torch.randn(2, 3, 64, 64)
 output = m(input)
 print(m)
 print(output)

 2.numpy数据归一化

1)最值归一化: 把所有的数据映射到0-1之间

适用:有明显边界的情况

x为m行n列的数据

x[:, 0] = (x[:, 0] - np.min(x[:, 0]))/(np.max(x[:, 0]) - np.min(x[:,0])) # 对第0列(第一个特征)进行最值归一化
            

 2)均值方差归一化(Standardization):

把所有数据归一到均值为0方差为1的数据中

既适用于数据没有明显的边界,有可能存在极端数据值的情况。也适用于数据有明显边界的情况

 x为m行n列的数据,对第0列进行均值方差归一化代码如下

import numpy as np
x[:, 0] = (x[:, 0] - np.mean(x[:, 0])) / np.std(x[:, 0])
原文地址:https://www.cnblogs.com/shuangcao/p/12795864.html