调整大小¶
- class torchvision.transforms.v2.Resize(size: Optional[Union[int, Sequence[int]]], interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, max_size: Optional[int] = None, antialias: Optional[bool] = True)[source]¶
将输入调整为给定大小。
如果输入是
torch.Tensor
或TVTensor
(例如Image
、Video
、BoundingBoxes
等),它可以具有任意数量的前导批次维度。例如,图像可以具有[..., C, H, W]
形状。边界框可以具有[..., 4]
形状。- 参数:
size (序列, int, or None) –
所需输出大小。
如果 size 是一个序列,如 (h, w),则输出大小将与之匹配。
如果 size 是一个整数,则图像的较小边缘将与该数字匹配。即,如果高度>宽度,则图像将重新缩放为 (size * 高度 / 宽度, size)。
如果 size 为 None,则输出形状由
max_size
参数确定。
注意
在 torchscript 模式下,不支持将 size 作为单个整数,请使用长度为 1 的序列:
[size, ]
。interpolation (InterpolationMode, optional) – 由
torchvision.transforms.InterpolationMode
定义的所需插值枚举。默认值为InterpolationMode.BILINEAR
。如果输入是 Tensor,则仅支持InterpolationMode.NEAREST
、InterpolationMode.NEAREST_EXACT
、InterpolationMode.BILINEAR
和InterpolationMode.BICUBIC
。相应的 Pillow 整数常量(例如PIL.Image.BILINEAR
)也被接受。max_size (int, optional) –
调整大小后图像长边允许的最大值。
如果
size
是一个整数:如果图像的长边在根据size
调整大小后大于max_size
,则会覆盖size
,以便长边等于max_size
。结果,短边可能短于size
。这仅在size
是一个整数(或在 torchscript 模式下长度为 1 的序列)时受支持。如果
size
为 None:图像的长边将与 max_size 匹配。即,如果高度>宽度,则图像将重新缩放为 (max_size, max_size * 宽度 / 高度)。
当
size
是一个序列时,应将其保留为None
(默认值)。antialias (bool, optional) –
是否应用抗锯齿。它只影响使用双线性或双三次模式的张量,否则会被忽略:在 PIL 图像上,始终对双线性或双三次模式应用抗锯齿;在其他模式(对于 PIL 图像和张量)上,抗锯齿没有意义,并且会忽略此参数。可能的值是
True
(默认值):将对双线性或双三次模式应用抗锯齿。其他模式不受影响。这可能是您要使用的值。False
:不会对任何模式的张量应用抗锯齿。PIL 图像在双线性或双三次模式下仍然是抗锯齿的,因为 PIL 不支持不抗锯齿。None
:等效于张量的False
和 PIL 图像的True
。该值存在于遗留原因,除非您确实知道自己在做什么,否则您可能不想使用它。
默认值在 v0.17 中从
None
更改为True
,以使 PIL 和 Tensor 后端保持一致。
使用
Resize
的示例变换的说明