pytorch学习笔记四:数据的预处理模块

transforms是pytorch中常用的图像预处理方法,这个在torchvision计算机视觉工具包中。在安装pytorch时顺便安装了torchvision,在torchvision中,有三个主要的模块:
● torchvision.transforms:常用的图像预处理方法,比如:标准化、中心化、旋转、翻转等;
● torchvision.datasets:常用的数据集的dataset实现,例如:MNIST、CIFAR-10、ImageNet等;
● torchvision.models:常用的预训练模型,AlexNet、VGG、ResNet等。

下面来详细了解一下transforms中图像预处理方法:

一、裁剪 —— Crop

1、随机裁剪:transforms.RandomCrop
transforms.RandomCrop(
    size,
    padding=None,
    pad_if_needed=False,
    fill=0,
    padding_mode='constant',
)

功能:根据给定的size进行随机裁剪
参数:
size-(sequence or int):若为sequence,则为(h, w),若为int,则为(int, int);

padding - (int or sequence, optional):此参数是设置填充多少个pixel;
若为int,表示图像上下左右均填充int个pixel,例如padding=4,表示图像上下左右均填充4个pixel,若为32×32,则图像填充后为40×40;
若为sequence,若为2个数,第一个数表示左右填充多少,第二个数表示上下填充多少;当有四个数时表示左、上、右、下

pad_if_needed:若图像小于设定的size,则填充;

fill:表示需要填充的值,默认为0.当值为int时,表示各通道均填充该值,当值为3时,表示RGB三个通道各需要填充的值;

padding_mode:填充模式,有4中填充模式:1、constant:常数填充;2、edge:图像的边缘值填充;3、reflect:镜像填充,最后一个像素不镜像,例如 [1, 2, 3, 4]. -> [3, 2, 1, 2, 3, 4, 3, 2];4、symmetric:镜像填充,最后一个元素填充,例如:[1, 2, 3, 4] -> [2, 1, 1, 2, 3, 4, 4, 3]

2、中心裁剪transforms.CenterCrop
torchvision.transforms.CenterCrop(size)

功能:依据给定的参数进行裁剪;
参数:
size:若为sequence,则为(h, w), 若为int, 则为(int, int)

3、随机长宽比裁剪transforms.RandomResizedCrop()
torchvision.transforms.RandomResizedCrop(
    size,
    scale=(0.08, 1.0),
    ratio=(0.75, 1.3333333333333333),
    interpolation=2,
)

功能:随机大小,随机长宽比裁剪原始图片,最后将图片 resize 到设定好的 size
参数:
size- 所需裁减图片尺寸
scale- 随机 crop 的大小区间,如 scale=(0.08, 1.0),表示随机 crop 出来的图片会在的 0.08
倍至 1 倍之间。
ratio- 随机长宽比设置
interpolation- 插值的方法,默认为双线性插值(PIL.Image.BILINEAR),插值方法有:PIL.Image.NEAREST、PIL.Image.BILINEAR、PIL.Image.BICUBIC

4、上下左右中心裁剪transforms.FiveCrop()
torchvision.transforms.FiveCrop(size)

功能:对图片进行上下左右以及中心裁剪,获得 5 张图片,返回一个 4D-tensor
参数:
size- (sequence or int),若为 sequence,则为(h,w),若为 int,则(size,size)

5、上下左右中心裁剪后翻转transforms.TenCrop()

                
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值