快捷方式

RandomResizedCrop

class torchvision.transforms.v2.RandomResizedCrop(size: Union[int, Sequence[int]], scale: tuple[float, float] = (0.08, 1.0), ratio: tuple[float, float] = (0.75, 1.3333333333333333), interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, antialias: Optional[bool] = True)[source]

裁剪输入图像的随机部分并将其调整到给定大小。

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

对原始输入进行裁剪:裁剪具有随机的面积(H * W)和随机的纵横比。最后将此裁剪后的图像调整到给定大小。这通常用于训练 Inception 网络。

参数:
  • size (intsequence) –

    裁剪的预期输出大小,按每条边计算。如果 size 是一个整数而不是像 (h, w) 这样的序列,则会生成一个方形输出大小 (size, size)。如果提供长度为 1 的序列,则将其解释为 (size[0], size[0])。

    注意

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

  • scale (python:float 元组, 可选) – 指定调整大小前,随机裁剪区域的下界和上界。比例是相对于原始图像的面积定义的。

  • ratio (python:float 元组, 可选) – 调整大小前,随机裁剪纵横比的下界和上界。

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

  • antialias (bool, 可选) –

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

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

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

    • None:对于张量等同于 False,对于 PIL 图像等同于 True。此值存在是为了兼容性,除非您非常了解自己在做什么,否则不应使用它。

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

使用 RandomResizedCrop 的示例

如何编写自己的 v2 变换

如何编写自己的 v2 变换

如何使用 CutMix 和 MixUp

如何使用 CutMix 和 MixUp

变换 v2 入门

变换 v2 入门

转换图示

转换图示
static get_params(img: Tensor, scale: list[float], ratio: list[float]) tuple[int, int, int, int][source]

为随机大小裁剪获取 crop 的参数。

参数:
  • img (PIL ImageTensor) – 输入图像。

  • scale (list) – 裁剪原始尺寸的比例范围

  • ratio (list) – 裁剪原始纵横比的纵横比范围

返回:

将被传递给 crop 以进行随机大小裁剪的参数 (i, j, h, w)。

返回类型:

元组

make_params(flat_inputs: list[Any]) dict[str, Any][source]

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

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

transform(inpt: Any, params: dict[str, Any]) Any[source]

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

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

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源