Pytorch-数据增强

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

常用的数据增强手段:

  1. Flip(翻转)
  2. Rotation(旋转)
  3. Scale(缩放)
  4. Random Move&Crop(移位&裁剪)
  5. Gaussian Noise(高斯噪声)

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

 1 train_loader = torch.utils.data.DataLoader(
 2     datasets.MNIST('datasets/data', train=True, download=True,
 3                    transform=transforms.Compose([
 4                        transforms.RandomHorizontalFlip(),              #水平翻转
 5                        transforms.RandomVerticalFlip(),                #竖直翻转
 6                        transforms.RandomRotation(15),                  #旋转,范围-15°~15°
 7                        transforms.RandomRotation([90, 180, 270]),      #从三个角度中挑一个旋转
 8                        transforms.Resize([32, 32]),                    #缩放
 9                        transforms.RandomCrop([28, 28]),                #随机裁剪  
10                        transforms.ToTensor(),
11                        # transforms.Normalize((0.1307,), (0.3081,))
12                    ])),
13     batch_size=batch_size, shuffle=True)

 

posted @ 2020-07-19 20:22  最咸的鱼  阅读(3034)  评论(0编辑  收藏  举报