数据增强
数据增强又称为数据增广,数据扩增,它是对训练集进行变换,使训练集更丰富,从而让模型更具泛化能力
举例:
(训练集)五年高考真题>>三年模拟试题
(验证集)当年高考真题
transforms--裁剪(Crop)
transforms.CenterCrop(size)#从图像中心裁剪图片
transforms.RandomCrop(#从图像中随机裁剪出尺寸为size的图片
size,#所需裁剪图片尺寸
padding=None,
#设置填充大小
#当为a时,上下左右均填充a个像素
#当为(a,b)时,上下填充b个像素
#当为(a,b,c,d)时,左上右下分别填充abcd
pad_if_needed=False,#若图像小于设定size,则填充
fill=0,
padding_mode='constant'
#填充模式,有4中模式
#constant:像素值由fill设定
#edge:像素值由图像边缘像素决定
#reflect:镜像填充,最后一个像素不镜像,eg:[1,2,3,4]>>[3,2,1,2,3,4,3,2]
#symmetric:镜像填充,最后一个像素镜像,eg:[1,2,3,4]>>[2,1,1,2,3,4,4,3]
)
RandomResizedCrop(
size,#所需裁剪图片的尺寸
scale=(0.08,1.0),#随机裁剪面积比例,默认(0.08,1)
ratio=(3/4,4/3),#随机长宽比,默认(3/4,4/3)
interpolation
#插值方法
#PIL.Image.NEAREST
#PIL.Image.BILINEAR
#PIL.Image.BICUBIC
)
transforms.FiveCrop(size)
transforms.TenCrop(
#在图像的上下左右及中心裁剪出尺寸为size的5张图片,TenCrop对这5张图片进行水平或者垂直镜像获得10张图片
size,
vertical_flip=False#是否垂直翻转
)
transforms--翻转和旋转(Flip and Rotation)
RandomHorizontalFlip(#依概率水平(左右)翻转图片
p=0.5#翻转概率
)
RandomVerticalFlip(#依概率水平垂直(上下)翻转图片
p=0.5
)
RandomRotation(#随机翻转图片
degrees,
#旋转角度
#当为a时,在(-a,a)之间选择旋转角度
#当为(a, b)时,在(a, b)之间选择旋转角度
resample=False, #重采样方法
expand=False, #是否扩大图片,以保持原图信息
center=None#旋转点设置,默认中心旋转
)