快捷方式

调整大小

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)[源代码]

将输入调整为指定大小。

如果输入是 torch.TensorTVTensor (例如 Image, Video, BoundingBoxes 等),它可以具有任意数量的前导批处理维度。例如,图像可以具有 [..., C, H, W] 形状。边界框可以具有 [..., 4] 形状。

参数:
  • size (sequence, int, or None) –

    期望的输出大小。

    • 如果 size 是一个序列,例如 (h, w),则输出大小将与其匹配。

    • 如果 size 是一个整数,图像的较短边将与之匹配。即,如果高 > 宽,则图像将缩放到 (size * height / width, size)。

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

    注意

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

  • interpolation (InterpolationMode, optional) – 由 torchvision.transforms.InterpolationMode 定义的期望的插值枚举。默认为 InterpolationMode.BILINEAR。如果输入是 Tensor,则仅支持 InterpolationMode.NEARESTInterpolationMode.NEAREST_EXACTInterpolationMode.BILINEARInterpolationMode.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 * width / height)。

    size 是序列时,应将其保留为 None (默认值)。

  • antialias (bool, optional) –

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

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

    • False:将不对任何模式下的张量应用抗锯齿。PIL 图像在双线性或双三次模式下仍然进行抗锯齿处理,因为 PIL 不支持无抗锯齿。

    • None:对于张量相当于 False,对于 PIL 图像相当于 True。此值存在是为了兼容性,除非您真的知道自己在做什么,否则可能不希望使用它。

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

使用 Resize 的示例

关键点上的变换

关键点上的变换

旋转边界框上的变换

旋转边界框上的变换

转换图示

转换图示
transform(inpt: Any, params: dict[str, Any]) Any[源代码]

用于覆盖自定义变换的方法。

请参阅 如何编写自己的 v2 变换

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

查找开发资源并让您的问题得到解答

查看资源