pytorch.transforms数据增强
位于torchvision.transforms下面。
示例:
transforms.Compose([
transforms.CenterCrop(10),
transforms.ToTensor(),
])
1、常见变换
1.1、Resize(用)
图像尺寸变化
torchvision.transforms.Resize(size, interpolation=2)
示例
```python
transforms.Resize((64, 128)), #缩放比例
1.2、标准化(用)
对数据按通道进行标准化,即先减均值,再除以标准差,注意是 hwc
torchvision.transforms.Normalize(mean, std) #mean-均值 std-标准差
示例
transforms.ToTensor(), #这里注意顺序,一般在标准化之前,标准化在最后
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
1.3、转换为PILmage
将 tensor 或者 ndarray 的数据转换为 PIL Image 类型数据
torchvision.transforms.ToPILImage(mode=None)
#mode- 为 None 时,为 1 通道, mode=3 通道默认转换为 RGB, 4 通道默认转换为 RGBA
1.4、转为Tensor
将 PIL Image 或者 ndarray 转换为 tensor,并且归一化至[0-1]
torchvision.transforms.ToTensor()
示例
transforms.ToTensor(), #这里注意顺序,一般在标准化之前,标准化在最后
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
2、裁剪—Crop
2.1、中心裁剪
依据给定的 size 从中心裁剪
torchvision.transforms.CenterCrop(size)
2.2、随机裁剪—RandomCrop(用)
依据给定的 size 随机裁剪
torchvision.transforms.RandomCrop(size, padding=0, pad_if_needed=False)
#padding-此参数是设置填充多少个 pixel。
#pad_if_needed-如果图片小于指定尺寸,是否边缘填充。
示例
transforms.RandomCrop((60, 120))