调整大小¶
- 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,视频,BoundingBoxes等), 它可以有任意数量的前导批次维度。例如, 图像可以有[..., C, H, W]形状。边界框可以有[..., 4]形状。- Parameters:
size (sequence, int, or None) –
期望的输出大小。
如果 size 是一个像 (h, w) 这样的序列,输出大小将与此匹配。
如果 size 是一个整数,图像的较小边将与此数字匹配。即,如果高度 > 宽度,则图像将重新缩放为 (size * height / width, size)。
如果 size 为 None,输出形状由
max_size参数决定。
注意
在 torchscript 模式下,不支持 size 为单个整数,请使用长度为 1 的序列:
[size, ]。插值 (InterpolationMode, 可选) – 由
torchvision.transforms.InterpolationMode定义的所需插值枚举。默认值为InterpolationMode.BILINEAR。 如果输入是张量,则仅支持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的示例: