简单粗暴PyTorch之transforms详解(二)

本文详细介绍了PyTorch中的数据增强技术,包括裁剪、翻转、旋转等,以及各种图像变换,如Pad、ColorJitter、RandomErasing等。同时,讨论了如何自定义transform操作,以提升模型的泛化能力。
摘要由CSDN通过智能技术生成

一、数据增强

数据增强又称为数据增广,数据扩增,它是对训练集进行变换,使训练集更 丰富,从而让模型更具泛化能力

从:
在这里插入图片描述
到:
在这里插入图片描述

二、裁剪

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

  2. transforms.RandomCrop
    功能:从图片中随机裁剪出尺寸为size的图片
    • size:所需裁剪图片尺寸
    • padding:设置填充大小
    当为a时,上下左右均填充a个像素
    当为(a, b)时,上下填充b个像素,左右填充a个像素
    当为(a, b, c, d)时,左,上,右,下分别填充a, b, c, d
    • pad_if_need:若图像小于设定size,则填充
    • padding_mode:填充模式,有4种模式
    1、constant:像素值由fill设定
    2、edge:像素值由图像边缘像素决定
    3、reflect:镜像填充,最后一个像素不镜像,eg:[1,2,3,4] → [3,2,1,2,3,4,3,2]
    4、symmetric:镜像填充,最后一个像素镜像,eg:[1,2,3,4] → [2,1,1,2,3,4,4,3]
    • fill:constant时,设置填充的像素值
    在这里插入图片描述

  3. RandomResizedCrop
    功能:随机大小、长宽比裁剪图片
    • size:所需裁剪图片尺寸
    • scale:随机裁剪面积比例, 默认(0.08, 1)
    • ratio:随机长宽比,默认(3/4, 4/3)
    • interpolation:插值方法
    PIL.Image.NEAREST 最近邻
    PIL.Image.BILINEAR 双线性
    PIL.Image.BICUBIC 双三次差值方法
    在这里插入图片描述

  4. FiveCrop

  5. TenCrop
    功能:在图像的上下左右以及中心裁剪出尺 寸为size的5张图片,TenCrop对这5张图片 进行水平或者垂直镜像获得10张图片
    • size:所需裁剪图片尺寸
    • vertical_flip:是否垂直翻转
    在这里插入图片描述

三、翻转和旋转

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

RandomHorizontalFlip(p=0.5)
RandomVerticalFlip(p=0.5)

3.RandomRotation
功能:随机旋转图片
• degrees:旋转角度
当为a时,

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值