爽歪歪666
不以物喜,不以己悲,努力才是永恒的主题。

 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])

 

posted on 2020-04-28 17:53  爽歪歪666  阅读(3063)  评论(0编辑  收藏  举报