ScaleJitter¶
- class torchvision.transforms.v2.ScaleJitter(target_size: Tuple[int, int], scale_range: Tuple[float, float] = (0.1, 2.0), interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, antialias: Optional[bool] = True)[source]¶
根据 “简单复制粘贴是实例分割的强大数据增强方法” 对输入执行大规模抖动。
如果输入是
torch.Tensor
或TVTensor
(例如Image
、Video
、BoundingBoxes
等),它可以具有任意数量的领先批处理维度。例如,图像可以具有[..., C, H, W]
形状。边界框可以具有[..., 4]
形状。- 参数:
target_size (python:int 的元组) – 目标大小。此参数定义抖动的基本比例,例如
min(target_size[0] / width, target_size[1] / height)
。scale_range (python:float 的元组, 可选) – 比例范围的最小值和最大值。默认值
(0.1, 2.0)
。interpolation (InterpolationMode, 可选) – 由
torchvision.transforms.InterpolationMode
定义的所需插值枚举。默认值为InterpolationMode.BILINEAR
。如果输入是张量,则仅支持InterpolationMode.NEAREST
、InterpolationMode.NEAREST_EXACT
、InterpolationMode.BILINEAR
和InterpolationMode.BICUBIC
。相应的 Pillow 整数常量(例如PIL.Image.BILINEAR
)也被接受。antialias (bool, 可选) –
是否应用抗锯齿。它仅影响具有双线性或双三次模式的张量,在其他情况下会忽略:在 PIL 图像上,抗锯齿始终应用于双线性或双三次模式;在其他模式(针对 PIL 图像和张量)上,抗锯齿没有意义,因此会忽略此参数。可能的值为
True
(默认值):将为双线性或双三次模式应用抗锯齿。其他模式不受影响。这可能就是你想使用的。False
:不会为任何模式的张量应用抗锯齿。PIL 图像在双线性或双三次模式下仍具有抗锯齿功能,因为 PIL 不支持不抗锯齿。None
:等效于张量的False
和 PIL 图像的True
。此值存在是为了向后兼容,除非你真正了解自己在做什么,否则你可能不想使用它。
默认值已从 v0.17 中的
None
更改为True
,以使 PIL 和张量后端保持一致。