Transforms的使用(四)
1. 为什么要使用Compose类
- 在深度学习模型的训练过程中,往往需要对图像按顺序进行一系列的变化,如果把系列变化按顺序写成代码会比较冗余
- Compose实现了将所有的系列变化进行集合的操作,从代码层面可以一次性所有变化
2. 使用Compose类实现一系列的图像变化
-
Compose
的参数是一个列表,表示图片按列表顺序进行相关变化,上一次变换的输出作为下一次变换的输入,所以要特别注意每一层的输出类型是否满足下一层的输入类型的要求from torchvision import transformstrans = transforms.Compose([transforms.ToTensor(), # 转换为Tensortransforms.Resize([700, 700]), # 尺寸修改transforms.Normalize(mean = [0.5, 0.5, 0.5], std = [0.5, 0.5, 0.5]) # 标准化 ]) img_trans = trans(img) print(type(img)) # <class 'PIL.JpegImagePlugin.JpegImageFile'> print(type(img_trans)) # <class 'torch.Tensor'>
- 创建了一个
Compose
的实例trans
,对输入的图片依次执行ToTensor、Resize、Normalize
操作 img_trans
是PIL类型数据img
经过Compose
的输出结果
- 创建了一个
-
使用
TensorBoard
展示变换后的图像