pyorch学习(三)torchvision.transforms常用的数据变换

from torchvision.transforms as tf
transforms模块提供了一般的图像转换操作类
基本上PyTorch中的resize、crop、normalize等常见的数据预处理及数据增强(data augmentation)操作都可以通过该接口实现
torchvision.transformas主要涉及两个文件:transformas.py和functional.py,在transformas.py中定义了各种data augmentation的类,在每个类中通过调用functional.py中对应的函数完成data augmentation操作。

(1)tfs.Resize():用于对载入的图片数据按我们需求的大小进行缩放。传递给这个类的参数可以使一个整形数据,也可以是一个类似于(h,w)的序列,其中,h代表高度,w代表宽度,但是如果使用的是一个整形数据,那么代表缩放的宽度和高度都是这个整形数据的值

(2)tfs.Scale:用于对载入的图片数据按我们需求进行缩放,和tfs.Resize()用法类似
(3)tfs.CenterCrop:用于对载入图片以图片中心为参考点,按照需求进行裁剪
以输入图像img的中心作为中心点进行指定size的crop操作,在数据增强中一版不会去使用该方法。因为当size固定时,对于同一张img,N次CenterCrop的结果是一样的。
(4)tfs.RamdomCrop:用于对载入的图片按需求进行随机裁剪
RandomCrop()
RandomCrop相比前面的CenterCrop要更加常用一些,两者的区别在于RandomCrop在crop时的中心点坐标是随机的,不再是输入图像的中心坐标,因此基本上每次crop生成的图像都是不同的。
(5)tfs.RandomHorizontalFlip:对载入图片按随机概率进行水平翻转,默认概率值为0.5.
(6)tfs.RandomVerticalFlip:对载入图片按随机概率进行垂直翻转,默认概率值为0.5
(7)tfs.ToTensor:对载入图片进行类型转换,将PIL图片数据转换为Tensor数据类型数据
ToTensor()
Convert a PIL Image or numpy.ndarray to tensor.
在做*数据归一化
之前必须要把PIL Image转成Tensor,其它resize或crop操作不需要。

(8)tfs.ToPILImage:将Tensor变量数据转换为PIL图片数据,方便显示。
ToPILImage()
Convert a tensor or an ndarray to PIL Image.
ToTensor()的反向操作。
(9)**Compose()**用来管理各个transform,其中__call__方法就是对输入img遍历所有的transform操作。
ex:transform=tfs.Compose([transform.ToTensor(),transforms.Normalize
(mean=[0.5,0.5,0.5],std=[0.5,0.5,0.5])
x^normal=(x-mean)/st
也就是说(0,1)-0.5/0.5=(-1,1),即将数据归一化为[-1,1]的张量。
(10)Normalize()
数据归一化处理,调用前数据需处理成Tensor。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

碧寒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值