Pytorch 學習(十一):Pytorch 圖片處理與數據增廣

Pytorch 圖片處理與數據增廣

本方法總結自《動手學深度學習》(Pytorch版)github項目

  • Pytorch 數據增廣主要依賴於 torchvision.transform 庫

圖片讀取

from PIL import Image

img = Image.open('./a.jpg')

圖片增廣

  • 單一增廣
import torchvision

aug1 = torchvision.transforms.RandomHorizontalFlip(p=0.5)  # 隨機水平翻轉, p 默認爲 0.5
img = aug1(img)  # 增廣處理

aug2 = torchvision.transforms.RandomVerticalFlip()  # 垂直翻轉

aug3 = torchvision.transforms.RandomResizedCrop(size=200, scale=(0.1, 1), ratio=(0.2, 2))
# size 爲裁剪加上再 resize 後的最終size, scale: 裁剪圖像爲原圖像的 10% ~ 100% 不等,裁剪的寬高比爲 0.2 ~ 2 不等

# 將圖片轉爲 tensor 形式
aug4 = torchvision.transform.ToTensor()
  • 同時進行多個處理
augs = torchvision.transforms.Compose([
    aug1, aug2, aug3, aug4
])

img = augs(img)

在實現時一定要將圖片轉化爲 tensor 再進行網絡訓練

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章