您的位置:首页 > 其它

【深度之眼PyTorch框架班第五期】作业打卡06:学习二十二种transforms数据预处理方法;学会自定义transforms方法

2020-08-02 23:03 113 查看

文章目录

任务名称

学习二十二种transforms数据预处理方法;学会自定义transforms方法

任务简介

pytorch提供了大量的transforms预处理方法,在这里归纳总结为四大类共二十二种方法进行一一学习;学会自定义transforms方法以兼容实际项目;

详细说明

本节将介绍张量的基本操作,如张量拼接切分、索引和变换,同时学习张量的数学运算,并基于所学习的知识,实现线性回归模型的训练,以加深知识点的认识。

本节第二部分介绍pytorch最大的特性——动态图机制,动态图机制是pytorch与tensorflow最大的区别,该部分首先介绍计算图的概念,并通过演示动态图与静态图的搭建过程来理解动态图与静态图的差异。

作业

1. 将介绍的transforms方法一一地,单独地实现对图片的变换,并且通过plt.savefig将图片保存下来

  • 要求:截图,不少于10张不一样的数据增强变换的图片,如裁剪,缩放,平移,翻转,色彩变换,错切,遮挡等等
  1. CenterCrop
    transforms.CenterCrop(512)

  2. RandomCrop
    transforms.RandomCrop(224, padding=16)

transforms.RandomCrop(224, padding=(16, 64))

transforms.RandomCrop(224, padding=16, fill=(0, 0, 255))

transforms.RandomCrop(512, pad_if_needed=True)

transforms.RandomCrop(224, padding=64, padding_mode=‘edge’)

transforms.RandomCrop(224, padding=64, padding_mode=‘reflect’)

transforms.RandomCrop(1024, padding=1024, padding_mode=‘symmetric’)

  1. RandomResizedCrop
    transforms.RandomResizedCrop(size=224, scale=(0.5, 0.5))
  2. FiveCrop
    transforms.FiveCrop(112)
    transforms.Lambda(lambda crops: torch.stack([(transforms.ToTensor()(crop)) for crop in crops]))



  1. TenCrop
    transforms.TenCrop(112, vertical_flip=False),
    transforms.Lambda(lambda crops: torch.stack([(transforms.ToTensor()(crop)) for crop in crops]))
    FiveCrop的五张图及其水平翻转,共十张图

  2. Horizontal Flip
    transforms.RandomHorizontalFlip(p=1)

  3. Vertical Flip
    transforms.RandomVerticalFlip(p=0.5)

  4. RandomRotation
    transforms.RandomRotation(90)

transforms.RandomRotation((90), expand=True)

transforms.RandomRotation(30, center=(0, 0))

2. 自定义一个增加椒盐噪声的transforms方法,使得其能正确运行

  • 要求:文字简答,复制YourTransforms类的代码

3. 用手机将自己钱包中的100元人民币正面进行拍照,并且放到hello pytorch/lesson/lesson-09/test_data/100文件夹下,通过修改不同的数据增强方法,使得模型在10个epoch之后能正确区分你钱包中的100元

  • 要求:截图,将正确分类的100元的plt.show进行截取
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: