当前位置:   article > 正文

transforms.Compose()函数_transforms compose

transforms compose

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

比如说:

  1. transforms.Compose([
  2. transforms.CenterCrop(10),
  3. transforms.ToTensor(),
  4. ])

这样就把两个步骤整合到了一起。

接下来介绍transforms中的函数:

Resize把给定的图片resize到given size
Normalize用均值和标准差归一化张量图像
ToTensorconvert a PIL image to tensor (H*W*C) in range [0,255] to a torch.Tensor(C*H*W) in the range [0.0,1.0]
CenterCrop在图片的中间区域进行裁剪
RandomCrop在一个随机的位置进行裁剪
FiceCrop把图像裁剪为四个角和一个中心
RandomResizedCrop将PIL图像裁剪成任意大小和纵横比
ToPILImageconvert a tensor to PIL image
RandomHorizontalFlip以0.5的概率水平翻转给定的PIL图像
RandomVerticalFlip以0.5的概率竖直翻转给定的PIL图像
Grayscale将图像转换为灰度图像
RandomGrayscale将图像以一定的概率转换为灰度图像
ColorJitter随机改变图像的亮度对比度和饱和度

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

实例:

经常看到

  1. transform.ToTensor(),
  2. 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.
 

原文链接:https://blog.csdn.net/jzwong/article/details/104272600

原文:pytorch中transforms.Compose()函数_u013925378的博客-CSDN博客_transforms.compose

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

闽ICP备14008679号