transforms运行机制
通过import torchvision.transforms as transforms
导入pytorch的计算机视觉包torchvision中的transforms模块。
torchvision
包由流行的数据集、模型体系结构和用于计算机视觉的常见图像转换组成
torchvision.transforms : 常用的图像预处理方法
- 数据中心化
- 数据标准化
- 缩放
- 裁剪
- 旋转
- 翻转
- 填充
- 噪声添加
- 灰度变换
- 线性变换
- 仿射变换
- 亮度、饱和度及对比度变换
这是利用torchvision.transforms对一张图片进行数据增强的结果
transforms是在自定义dataset的__getitem__(self, index)
中实现的
实验:
-
主函数中定义了两个transforms.Compose类,它的作用是将几个变换组合在一起。传入参数为Transform对象的列表。
-
我们知道transforms是在自定义dataset的
__getitem__(self, index)
中实现的,因此直接在这个位置打断点。 -
self.transform
是在__init__
中定义的,就是传入在主函数定义的transforms.Compose类。 -
进入
self.transform(img)
查看,跳转到transforms.py的class Compose(object)
的__call__(self, img)
。通过一个for循环将Transform对象的列表迭代,对img分别进行各种transform。
具体各个transform怎么实现懒得看了,就酱。