zoukankan      html  css  js  c++  java
  • 深度学习与Pytorch入门实战(十一)数据增强

    1. 数据增强

    • 比如,你遇到的一个任务,目前只有小几百的数据,然而目前流行的最先进的神经网络都是成千上万的图片数据,可以通过数据增强来实现。

    • 卷积神经网络非常容易出现过拟合的问题,而数据增强的方法是对抗过拟合问题的一个重要方法。

    常用的数据增强手段:

    • Flip(翻转)

    • Rotation(旋转)

    • Scale(缩放)

    • Random Move&Crop(移位&裁剪)

    • Gaussian Noise(高斯噪声)

    前4个操作都是由torchvision包中的transforms完成的。

    import torch
    from torchvision import datasets, transforms
    
    batch_size = 200
    train_loader = torch.utils.data.DataLoader(
        datasets.MNIST('../data', train=True, download=True,
                       transform=transforms.Compose([
                           transforms.RandomHorizontalFlip(),        # 水平翻转
                           transforms.RandomVerticalFlip(),          # 竖直翻转
                           transforms.RandomRotation(15),            # 旋转,范围-15°~15°
                           transforms.RandomRotation([90, 180]),     # 从二个角度中挑一个旋转(序列len只能为2)
                           transforms.Resize([32, 32]),              # 缩放
                           transforms.RandomCrop([28, 28]),          # 随机裁剪
                           transforms.ToTensor(),
                           # transforms.Normalize((0.1307,), (0.3081,))
                       ])),
        batch_size=batch_size, shuffle=True)
    

    2. 数据增强演示

    import sys
    
    from PIL import Image
    from torchvision import transforms as tfs
    
    # 读入一张图片
    im = Image.open('./1.png')
    im
    

    2.1 水平翻转

    new_im = transforms.RandomHorizontalFlip()(im)           # 水平翻转
    new_im
    

    2.2 随机剪裁

    new_im = transforms.RandomCrop([200, 200])(im)
    new_im
    

  • 相关阅读:
    pyqy5——控件2
    pyqt5——自定义控件
    pyqt5——绘图
    pyqt5——菜单和工具栏
    pyqt5——拖拽
    nodejs运行的时候报错:Error: write EIO以及乱码解决方式
    windows设置控制台编码格式为UTF-8
    eclipse删除的文件如何恢复。
    crobtab不执行定时任务的原因及解决办法
    springmvc找不到对应的requestmapping
  • 原文地址:https://www.cnblogs.com/douzujun/p/13360336.html
Copyright © 2011-2022 走看看