【Python学习】PyTorch—transforms里的Compose(),ToTensor()和Normalize

Python图像库PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。

transforms的函数

函数 功能
Resize 把给定的图片resize到given size
Normalize 用均值和标准差归一化张量图像
ToTensor 将 PIL 图像转换为范围 [0,255] 内的张量 (HWC) to a torch。范围 [0.0,1.0] 范围内的张量(CHW)
CenterCrop 在图片的中间区域进行裁剪
RandomCrop 在一个随机的位置进行裁剪
FiceCrop 把图像裁剪为四个角和一个中心
RandomResizedCrop 将PIL图像裁剪成任意大小和纵横比
ToPILImage convert a tensor to PIL image
RandomHorizontalFlip 以0.5的概率水平翻转给定的PIL图像
RandomVerticalFlip 以0.5的概率竖直翻转给定的PIL图像
Grayscale 将图像转换为灰度图像
RandomGrayscale 将图像以一定的概率转换为灰度图像
ColorJitter 随机改变图像的亮度对比度和饱和度

transforms.Compose()函数

torchvision.transforms是pytorch中的图像预处理包。一般用Compose把多个步骤整合到一起:
下面把两个步骤整合到了一起。

transforms.Compose([  

    transforms.CenterCrop(10),
 
    transforms.ToTensor(),
 
])

transform.ToTensor()和transform.Normalize

例子

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.

原文链接:https://blog.csdn.net/weixin_43135178/article/details/115133115

posted @ 2022-08-02 16:41  寥若辰星  阅读(1316)  评论(0编辑  收藏  举报