快捷方式

调整大小

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.TensorTVTensor (例如 Image, Video, BoundingBoxes 等),它可以包含任意数量的前导批次维度。例如,图像的形状可以为 [..., C, H, W]。边界框的形状可以为 [..., 4]

参数:
  • size (序列, 整型, 或 None) –

    期望的输出尺寸。

    • 如果 size 是像 (h, w) 这样的序列,则输出尺寸将与此匹配。

    • 如果 size 是一个整型数,则图像的较短边将匹配到此数字。即,如果 height > width,则图像将被重新缩放为 (size * height / width, size)。

    • 如果 size 为 None,则输出形状由参数 max_size 决定。

    注意

    在 torchscript 模式下,不支持将 size 作为单个整型数,请使用长度为 1 的序列:[size, ]

  • interpolation (InterpolationMode, 可选) – 期望的插值枚举,由 torchvision.transforms.InterpolationMode 定义。默认为 InterpolationMode.BILINEAR。如果输入是 Tensor,仅支持 InterpolationMode.NEARESTInterpolationMode.NEAREST_EXACTInterpolationMode.BILINEARInterpolationMode.BICUBIC。也接受相应的 Pillow 整型常量,例如 PIL.Image.BILINEAR

  • max_size (整型, 可选) –

    调整大小后的图像长边的最大允许尺寸。

    • 如果 size 是一个整型数:如果图像的长边在根据 size 调整大小后大于 max_size,则 size 将被覆盖,使得长边等于 max_size。结果是,短边可能会小于 size。仅当 size 是一个整型数(或在 torchscript 模式下是长度为 1 的序列)时支持此功能。

    • 如果 size 为 None:图像的长边将匹配到 max_size。即,如果 height > width,则图像将被重新缩放为 (max_size, max_size * width / height)。

    size 是一个序列时,此参数应保持 None(默认值)。

  • antialias (布尔型, 可选) –

    是否应用抗锯齿。它仅影响双线性或双三次模式下的 tensor,在其他情况下会被忽略:对于 PIL 图像,在双线性或双三次模式下总是应用抗锯齿;对于其他模式(PIL 图像和 tensor),抗锯齿没有意义,此参数将被忽略。可能的值为

    • True(默认):将对双线性或双三次模式应用抗锯齿。其他模式不受影响。这可能是您想要使用的设置。

    • False:将不对 tensor 在任何模式下应用抗锯齿。PIL 图像在双线性或双三次模式下仍然会应用抗锯齿,因为 PIL 不支持关闭抗锯齿。

    • None:对于 tensor 等同于 False,对于 PIL 图像等同于 True。此值是出于兼容性原因而存在,除非您非常清楚自己在做什么,否则可能不希望使用它。

    默认值在 v0.17 中从 None 更改为 True,以使 PIL 和 Tensor 后端保持一致。

使用 Resize 的示例

变换示例

变换示例
transform(inpt: Any, params: Dict[str, Any]) Any[source]

自定义变换需要覆盖的方法。

参见 如何编写自己的 v2 变换

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源