关于pytorch标准化后原图像显示问题
(2020-09-15 11:54:02)分类: 机器视觉 |
1.经常看到数据输入后,会使用
transform.ToTensor(),
transform.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))
以上面代码为例,ToTensor()能够把灰度范围从0-255变换到0-1之间,而后面的transform.Normalize()则把0-1变换到(-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.
2.在标准化后,可视化时候图像显示会出现问题。需要采用make_grid函数,将normalize为True
from torchvision.utils import make_grid
viz.images(make_grid(sample[0],normalize=True),nrow=8,win='mnist',opts=dict(title='mnist'))