ize()⽤法+后⾯参数为什么⽤
(0.5,0.5,0.5)。。。
ize():⽤均值和标准差对张量图像进⾏归⼀化
经常看到
or(),
ize((0.5,0.5,0.5),(0.5,0.5,0.5))
那ize()是怎么⼯作的呢?以上⾯代码为例,
ToTensor()能够把灰度范围从0-255变换到0-1之间,ToTensor()将shape为(H,W,C)的y或img转为shape为(C,H,
W)的tensor,其将每⼀个数值归⼀化到[0,1],其归⼀化⽅法⽐较简单,直接除以255即可
ize(std=(0.5,0.5,0.5),mean=(0.5,0.5,0.5)),则其作⽤就是先将输⼊归⼀化到(0,1),再使⽤公式"(x-mean)/std",
将每个元素分布到(-1,1)
具体地说,对每个通道⽽⾔,Normalize执⾏以下操作:
image=(image-mean)/std
其中mean和std分别通过(0.5,0.5,0.5)和(0.5,0.5,0.5)进⾏指定。原来的0-1最⼩值0则变成(0-0.5)/0.5=-1,⽽最⼤值1则变成(1-
0.5)/0.5=1.
可我看很多代码⾥⾯是这样的:
ize(mean=[0.485,0.456,0.406],std=[0.229,0.224,0.225])
这⼀组值是怎么来的?这⼀组值是从imagenet训练集中抽样算出来的。
总结:
经过上⾯normalize()的变换后变成了均值为0⽅差为1(其实就是最⼤最⼩值为1和-1)
每个样本图像变成了均值为0⽅差为1的标准正态分布,这就是最普通(科学研究价值最⼤的)的样本数据了
本文发布于:2022-12-28 13:39:04,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/46954.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |