Shortcuts

随机调整大小裁剪

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

对原始输入进行裁剪:裁剪区域具有随机面积(H * W)和随机宽高比。最后将此裁剪区域调整为给定大小。这种方法通常用于训练Inception网络。

Parameters:
  • size (intsequence) –

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

    注意

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

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

  • ratio (python:float 的元组, 可选) – 在调整大小之前,裁剪的随机宽高比的下限和上限。

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

  • antialias (bool, optional) –

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

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

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

    • None: 对于张量等同于False,对于 PIL图像等同于True。此值存在是为了兼容旧版本,除非你确实知道自己在做什么,否则你可能不想使用它。

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

使用 RandomResizedCrop 的示例:

开始使用 transforms v2

Getting started with transforms v2

变换的图示

Illustration of transforms

如何使用CutMix和MixUp

How to use CutMix and MixUp

如何编写自己的v2转换

How to write your own v2 transforms
static get_params(img: Tensor, scale: List[float], ratio: List[float]) Tuple[int, int, int, int][source]

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

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

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

  • ratio (list) – 原始宽高比裁剪的宽高比范围

Returns:

传递给 crop 的参数 (i, j, h, w) 用于随机大小的裁剪。

Return type:

tuple