RandomResizedCrop¶
- class torchvision.transforms.RandomResizedCrop(size, scale=(0.08, 1.0), ratio=(0.75, 1.3333333333333333), interpolation=InterpolationMode.BILINEAR, antialias: Optional[bool] = True)[源码]¶
随机裁剪图像的一部分并将其缩放到给定大小。
如果图像是 torch Tensor,则期望其形状为 […, H, W],其中 … 表示任意数量的前导维度。
对原始图像进行裁剪:裁剪具有随机的面积(H * W)和随机的纵横比。此裁剪最终将被缩放到给定大小。这通常用于训练 Inception 网络。
- 参数:
size (int 或 sequence) –
裁剪的预期输出大小,针对每个边缘。如果 size 是一个整数而不是序列(h, w),则会生成一个正方形输出大小
(size, size)
。如果提供长度为 1 的序列,则将其解释为 (size[0], size[0])。注意
在 torchscript 模式下,不支持将 size 作为单个整数,请使用长度为 1 的序列:
[size, ]
。scale (tuple of python:float) – 指定缩放前的随机裁剪区域的下界和上界。比例相对于原始图像的面积定义。
ratio (tuple of python:float) – 缩放前的随机裁剪纵横比的下界和上界。
interpolation (InterpolationMode) – 由
torchvision.transforms.InterpolationMode
定义的所需插值枚举。默认为InterpolationMode.BILINEAR
。如果输入是 Tensor,则仅支持InterpolationMode.NEAREST
、InterpolationMode.NEAREST_EXACT
、InterpolationMode.BILINEAR
和InterpolationMode.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
的示例