torchvision.transforms是pytorch中的图像预处理包。一般用Compose把多个步骤整合到一起:
比如说:
transforms.Compose([
transforms.CenterCrop(10),
transforms.ToTensor(),
])
这样就把两个步骤整合到了一起。
接下来介绍transforms中的函数:
注:Python图像库PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。
实例:
经常看到
transform.ToTensor(),
transform.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))
那transform.Normalize()是怎么工作的呢?以上面代码为例,
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.