【torchvision】 torchvision.transforms.Normalize()

torchvision.transforms.Normalize()

作用: 用均值和标准差对张量图像进行归一化,
公式: i m a g e = ( i m a g e − m e a n ) / s t d image = (image-mean) / std image=(imagemean)/std

比如,原像素值的取值区间为 [0, 1],在使用 transforms.Normalize(mean=[0.5,0.5,0.5], std=[0.5,0.5,0.5]) 进行归一化后,原像素值被分布到了 [-1, 1] 区间:

  • 原来的 0~1 最小值 0 则变成 (0 - 0.5) / 0.5 = -1
  • 最大值1则变成 (1 - 0.5) / 0.5 = 1

其中 mean 和 std 的3个值分表表示图像的3个通道
如果是单通道的灰度图,可以写成 transforms.Normalize(mean=[0.5], std=[0.5])

我们可能会看到很多代码里面是这样的:
torchvision.transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
这一组值是怎么来的呢?答案就是通过数据集,提前抽样计算出来的

你可能感兴趣的:(#,torchvision,python,pytorch,机器学习)