针对于四种天气进行的图片处理(数据增加)
#你需要的头文件
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import torchvision
from torchvision import transforms
import os
torchvision.transforms.RandomCrop()#随机位置裁剪
torchvision.transforms.RandomHorizontalFlip(p=1)#随机水平翻转
torchvision.transforms.RandomVerticalFlip(p=1)#随机上下翻转
torchvision.transforms.RandomRotation#随机旋转
torchvision.transforms.ColorJitter(brightness=1)#明暗程度
torchvision.transforms.ColorJitter(contrast=1)#对比度
torchvision.transforms.ColorJitter(saturation=0.5)#饱和度
torchvision.transforms.ColorJitter(hue=0.5)#颜色
torchvision.transforms.RandomGrayscale(p=0.5)#灰度化都是为了更加适应模型的变化
因为需要让机器更加准确的识别图像,比如旁晚可以选择把晴天的亮度调暗,随机裁剪一个位置,旋转,改变对比度,颜色等条件让机器更好的识别出图像的内容。
这个数据集用于主要测试。随机抽样的数据集不用特意加强,会在一定程度上提高学习的准确率。
#测试数据加强数据特征
train_transform = transforms.Compose([
transforms.Resize(224),
transforms.RandomResizedCrop(192, scale=(0.6,1.0), ratio=(0.8,1.0)),#随机裁剪
transforms.RandomHorizontalFlip(),#左右翻转
transforms.RandomRotation(0.2),#随机翻转
torchvision.transforms.ColorJitter(brightness=0.5, contrast=0, saturation=0, hue=0),#都是超参数,所以需要自己指定和尝试
torchvision.transforms.ColorJitter(brightness=0, contrast=0.5, saturation=0, hue=0),
transforms.ToTensor(),#转化成tensor的格式
transforms.Normalize(mean=[.5, .5, .5], std=[.5, .5, .5])
])
(本内容借鉴于日月光华)