1. 程式人生 > 實用技巧 >Pytorch-資料增強

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)