当前位置:   article > 正文

transforms.ToTensor()和归一化函数transforms.Normalize()的使用

transforms.totensor

导入头文件:

# from torchvision import transforms
# transforms.ToTensor()

ToTensor的作用是将导入的图片转换为Tensor的格式,导入的图片为PIL image 或者 numpy.nadrry格式的图片,其shape为(HxWxC)数值范围在[0,255],转换之后shape为(CxHxw),数值范围在[0,1].

# transforms.Normalize()

其作用是将图片在每个通道上做标准化处理,即将每个通道上的特征减去均值,再除以方差。

归一化的作用就是将需要处理的数据,经过一定的处理方法(算法),将其数值限制在一定范围内。在深度学习图像处理中,归一化处理之后,可以使数据更好的响应激活函数,提高数据的表现力,减少梯度爆炸和梯度消失的出现。常见的归一化处理是将数据处理为均值是0,方差是1的高斯分布,而transforms.Normalize()就可以实现这样的功能。

简单来说就是将数据按通道进行计算,将每一个通道是数据计算出其方差与均值,然后再将其每一个通道内的每一个数据减去均值,再除以方差,得到归一化后的结果。

由于 transforms.Normalize()不支持PIL image 格式,所以必须要将图像转换为Tensor格式之后在做标准化处理,做标准化处理的好处在于可以加快网络的收敛,以及提高数据的鲁棒性,防止数据在后续处理中失活,也可以很好的响应激活函数的处理。

output=(input-mean)/std

mean是各通道的均值,std是各通道的方差。

# transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225))

我们经常看到的这些均值与方差,是从ImageNet数据集上的百万张图片中随机抽样计算得到的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/351044
推荐阅读
相关标签
  

闽ICP备14008679号