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 再进行网络训练

你可能感兴趣的:(Pytorch,计算机视觉,python,深度学习,计算机视觉,pytorch)