pytorch自学手册(3)——数据预处理transforms方法介绍和总结

transform预处理方法主要包括四大类:
1.Crop
2.Flip and Rotation
3.Resize
4.对transforms操作

crop

1.  transforms.CenterCrop()

功能:从图像中心裁剪图片
• size:所需裁剪图片尺寸

2.  transforms.RandomCrop(size,
                      padding=None,
                      pad_if_needed=False,
                      fill=0,
                      padding_mode='constant')

功能:从图片中随机裁剪出尺寸为size的图片
• size:所需裁剪图片尺寸
• padding:设置填充大小
为a:上下左右均填充a个像素
为(a, b):上下填充b个像素,左右填充a个像素
为(a, b, c, d):左,上,右,下分别填充a, b, c, d
• pad_if_need:若图像小于设定size,则填充

3. RandomResizedCrop(size,
                     scale=(0.08, 1.0),
                     ratio=(3/4, 4/3),
                     interpolation)

功能:随机大小、长宽比裁剪图片
• size:所需裁剪图片尺寸
• scale:随机裁剪面积比例, 默认(0.08, 1)
• ratio:随机长宽比,默认(3/4, 4/3)
• interpolation:插值方法

Flip and Rotation

1.RandomHorizontalFlip()
2.RandomVerticalFlip()

功能:依概率水平(左右)或垂直(上下)
翻转图片
• p:翻转概率

3.RandomRotation()

功能:随机旋转图片

Resize

transforms.Resize()

功能:重置图像分辨率

transforms.Pad(padding,fill=0,padding_mode='constant')

功能:对图片边缘进行填充

transforms.ColorJitter(brightness=0,contrast=0,saturation=0,hue=0)

功能:调整亮度、对比度、饱和度和色相

RandomGrayscale(num_output_channels,p=0.1)

功能:依概率将图片转换为灰度图
• num_ouput_channels:输出通道数,只能设1或3
• p:概率值,图像被转换为灰度图的概率

RandomAffine(degrees,
             translate=None,
             scale=None,
             shear=None,
             resample=False,
             fillcolor=0)

功能:对图像进行仿射变换,仿射变换是二维的线性变换,由五种基本原子变换构成,分别是旋转、平移、缩放、错切和翻转
• degrees:旋转角度设置
• translate:平移区间设置,如(a, b), a设置宽,b设置高
• scale:缩放比例(以面积为单位)
• fill_color:填充颜色设置

transforms.Normalize(mean, std)

功能:对数据按通道进行标准化,即先减均值,再除以标准差

transforms.ToTensor()

功能:将PIL Image或者 ndarray 转换为tensor,并且归一化至[0-1] 注意事项:归一化至[0-1]是直接除以255,若自己的ndarray数据尺度有变化,则需要自行修改。

自定义transforms方法

transforms.Lambda(lambd)

lambda [arg1 [,arg2, … , argn]] : expression

transforms操作

transforms.RandomChoice([transforms1, transforms2, transforms3])

功能:从一系列transforms方法中随机挑选一个

transforms.RandomApply([transforms1, transforms2, transforms3], p=0.5)

功能:依据概率执行一组transforms操作

transforms.RandomOrder([transforms1, transforms2, transforms3])

功能:对一组transforms操作打乱顺序

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值