在做计算机视觉任务比如图像分类时往往需要对原始图片数据进行处理,比如图像裁剪,增广,规范化等操作。可以更好的避免模型过拟合,增强模型泛化能力!
这一系列操作可以通过torchvision的transforms模块进行处理。
from torchvision import transforms # 导入模块
# 对于RGB三通道图片进行归一化
normalize = transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
# 通过Compose将一系列操作连接起来
transform = transforms.Compose([
transforms.RandomResizedCrop(224), # 将图片随机裁剪成规定大小
transforms.RandomHorizontalFlip(), # 图片随机左右翻转
transforms.ToTensor(), #图片转换为tensor格式
normalize # 将图片规范化
])