快捷键

随机裁剪并调整大小

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

随机裁剪图像的一部分并将其调整为给定大小。

如果图像为 torch 张量,则它应具有 […, H, W] 形状,其中 … 表示任意数量的前导维度

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

参数:
  • size (int序列) –

    裁剪的预期输出大小,对于每个边。如果 size 是一个 int 而不是序列,例如 (h, w),则会创建一个正方形输出大小 (size, size)。如果提供长度为 1 的序列,它将被解释为 (size[0], size[0])。

    注意

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

  • scale (python:float 元组) – 指定裁剪随机面积的上下界,在调整大小之前。比例是根据原始图像的面积定义的。

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

  • interpolation (InterpolationMode) – 由 torchvision.transforms.InterpolationMode 定义的所需插值枚举。默认值为 InterpolationMode.BILINEAR。如果输入是张量,则仅支持 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 和张量后端保持一致。

使用 RandomResizedCrop 的示例

开始使用 transforms v2

开始使用 transforms v2

变换的说明

变换的说明

如何使用 CutMix 和 MixUp

如何使用 CutMix 和 MixUp

如何编写你自己的 v2 变换

如何编写你自己的 v2 变换
forward(img)[source]
参数:

img (PIL ImageTensor) – 要裁剪和调整大小的图像。

返回:

随机裁剪和调整大小的图像。

返回类型:

PIL 图像或张量

static get_params(img: Tensor, scale: List[float], ratio: List[float]) Tuple[int, int, int, int][source]

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

参数:
  • img (PIL Image or Tensor) – 输入图像。

  • scale (list) – 原始大小裁剪的比例范围。

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

返回:

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

返回类型:

元组

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发者的深入教程

查看教程

资源

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

查看资源