Pytorch-数据增强
比如,你遇到的一个任务,目前只有小几百的数据,然而目前流行的最先进的神经网络都是成千上万的图片数据,可以通过数据增强来实现。
常用的数据增强手段:
- Flip(翻转)
- Rotation(旋转)
- Scale(缩放)
- Random Move&Crop(移位&裁剪)
- 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)