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的示例