Pytorch的transform图像处理模块
从源码、官方文档、例子 开始剖析
一、数据增强(data augmentation)的概念(5年高考三年模拟)
(1)为什么要数据增强?
数据分为训练集和测试集,对训练集数据增强是为了使训练数据更加接近测试集,打个比方,五年高考三年模拟习题册,五年高考样卷就是训练集,三年模拟就是数据增强,只有多模拟,多见识其他的习题,才能在高考考场上(测试集)能够得到不错的成绩(增强模型泛化能力)。
二、图像数据的格式:
(1)PIL的Image格式
(2)ndarray格式
(3)张量tensor格式
三、数据增强的方法
在Pytorch中提供了基本的数据增强方法,封装在torchvision.transform模块中
1.归一化标准化,均值,方差
(1)Nomalize用的是pytorch中F模块的nomalize
(2)标准化的作用:调整的数据的尺度、分布,使得数据分布在均值为0,方差为1的标准归一化,能够加速模型的收敛速度。
实例:
2.裁剪crop
CenterCrop
RandomCrop
FiveCrop
TenCrop
3.翻转、旋转
RandomHorizantalFlip
RandomVerticalFlip
RandomRotation
4.填充
5.色彩操作
6.空间几何变换
仿射变换(二维线性变换)五种
随机遮挡,(在张量上进行)
三.反操作transform_invert可视化数据
四、transform的选择操作
好处:对数据的操作更加灵活多样
五、自定义项目所需要的transform方法,
(1)如何定义
(2)注意事项
六、数据增强的策略