python数据预处理库:torchvision.transforms

torchvision.transforms

作用:数据预处理方法,数据增强,提升泛化能力

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

    • 策略:原则:让训练集与测试集更接近
      • 空间位置:平移
      • 色彩:灰度图,色彩抖动
      • 形状:仿射变换
      • 上下文场景:遮挡,填充
      • ……
  • 包括:数据中心化、数据标准化、缩放、裁剪、旋转、翻转、填充、噪声添加、灰度变换、线性变换、仿射变换、亮度、饱和度及对比度变换等

transforms.normalize:数据标准化, 加快模型收敛

  • output = (input – mean) / std

    • mean(R,G,B)及std(R,G,B)是对应3通道的参数值,按照归一化公式(x-mean)/std使得所有元素归一化到(-1,1)之间
  • 参数

    • mean:各通道的均值
    • std:各通道的标准差
    • inplace:是否原地操作
  • 功能:逐channel的对图像进行标准化(均值变为0,标准差变为1),可以加快模型的收敛

transforms.ToTensor():归一化

  • 功能:将shape为(H, W, C)的nump.ndarray或img转为shape为(C, H, W)的tensor,其将每一个数值归一化到[0,1],其归一化方法比较简单,直接除以255即可。

裁剪

.CenterCrop:中心裁剪

  • 功能:

    • 从图像中心裁剪图片
  • 参数:

    • size:所需裁剪图片尺寸

.RandomCrop:随机裁剪

  • 功能:

    • 从图片中随机裁剪出尺寸为size的图片
  • 参数:

    • size:所需裁剪图片尺寸
    • padding:设置填充大小。当为a时,上下左右均填充a个像素,当为(a,b)时,上下填充b个像素,左右填充a个像素。当为(a,b,c,d)时,左上右下分别填充abcd
    • pad_if_need:若图像小于设定size,则填充
    • padding_mode:填充模式:
      • (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时,设置填充的像素值

.RandomResizedCrop: 随机大小、长宽比裁剪图片

  • 参数:
    • size:所需裁剪图片尺寸
    • scale:随机裁剪面积比例,默认(0.08,1)
    • ratio:随机长宽比,默认(3/4,4/3)
    • interpolation:插值方法
      • PIL.Image.NEAREST最近邻
      • PIL.Image.BILINEAR双线性
      • PIL.Image.BICUBIC

FiveCrop: 在图片的左上角、左下角、右上角、右下角和中心裁剪出尺寸为size的5张图片

TenCrop:在图像的上下左右以及中心裁剪出尺寸为size的5张图片,TenCrop对着5张图片进行水平或者垂直镜像获得10张图片

资料

  • https://www.lizenghai.com/archives/46484.html
  • https://oldpan.me/archives/use-pytorch-normalization
  • https://blog.csdn.net/u014484247/article/details/79997357?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值