快捷方式

调整大小

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(例如 ImageVideoBoundingBoxes 等),它可以具有任意数量的前导批次维度。例如,图像的形状可以是 [..., 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, 可选) –

    是否应用抗锯齿。它仅影响 bilinear 或 bicubic 模式下的**张量**,否则将被忽略:在 PIL 图像上, bilinear 或 bicubic 模式始终应用抗锯齿;在其他模式(对于 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 开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源