06图像预处理——transforms

こ雲淡風輕ζ 提交于 2020-01-26 18:46:54

一、transforms运行机制

1.1 torchvision——计算机视觉工具包

  • torchvision.transforms : 常用的图像预处理方法
  • torchvision.datasets : 常用数据集的dataset实现, MNIST, CIFAR-10, ImageNet等
  • torchvision.model: 常用的模型预训练, AlexNet, VGG, ResNet, GoogLeNet等

1.2 torchvision.transforms : 常用的图像预处理方法

  • 数据中心化, 数据标准化
  • 缩放, 裁剪, 旋转, 翻转, 填充, 噪声添加
  • 灰度变换, 线性变换, 仿射变换
  • 亮度、饱和度及对比度变换

示例:

norm_mean = [0.485, 0.456, 0.406]             # 设置标准化的均值
norm_std = [0.229, 0.224, 0.225]              # 设置标准化的方差

train_transform = transforms.Compose([        # Compose将一系列预处理方法进行有序组合,依次进行操作
    transforms.Resize((32, 32)),              # 缩放
    transforms.RandomCrop(32, padding=4),     # 裁剪
    transforms.ToTensor(),                    # 转化张量,同时将数据值归一化到0到1
    transforms.Normalize(norm_mean, norm_std),# 标准化
])

valid_transform = transforms.Compose([        
    transforms.Resize((32, 32)),
    transforms.ToTensor(),
    transforms.Normalize(norm_mean, norm_std),
])

# 构建MyDataset实例
train_data = RMBDataset(data_dir=train_dir, transform=train_transform)
valid_data = RMBDataset(data_dir=valid_dir, transform=valid_transform)

# 构建DataLoder
train_loader = DataLoader(dataset=train_data, batch_size=BATCH_SIZE, shuffle=True)
valid_loader = DataLoader(dataset=valid_data, batch_size=BATCH_SIZE)

1.3 transforms运行机制

二、数据标准化——transforms.normalize

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!