RandomResizedCrop¶
- class torchvision.transforms.RandomResizedCrop(size, scale=(0.08, 1.0), ratio=(0.75, 1.3333333333333333), interpolation=InterpolationMode.BILINEAR, antialias: Optional[bool] = True)[source]¶
裁剪影像的隨機部分並將其縮放到給定尺寸。
如果影像是 torch Tensor,則其形狀應為 […, H, W],其中 … 表示任意數量的前導維度
對原始影像進行裁剪:裁剪區域具有隨機面積 (H * W) 和隨機縱橫比。最終將此裁剪區域縮放到給定尺寸。這通常用於訓練 Inception 網路。
- 引數:
size (int 或 sequence) –
裁剪後期望的輸出尺寸,適用於每個邊緣。如果 size 是 int 而不是 sequence(如 (h, w)),則會生成一個方形輸出尺寸
(size, size)。如果提供長度為 1 的 sequence,則將其解釋為 (size[0], size[0])。注意
在 torchscript 模式下,不支援將 size 作為單個 int,請使用長度為 1 的 sequence:
[size, ]。scale (python:float 元組) – 指定裁剪前隨機區域的下限和上限。縮放比例是相對於原始影像的面積定義的。
ratio (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, 可選) –
是否應用抗鋸齒。它隻影響雙線性或雙三次模式的 tensors,否則將被忽略:對於 PIL 影像,抗鋸齒始終應用於雙線性或雙三次模式;對於其他模式(PIL 影像和 tensors),抗鋸齒沒有意義,此引數將被忽略。可能的值有
True(預設): 將對抗鋸齒應用於雙線性或雙三次模式。其他模式不受影響。這可能是您想要使用的。False: 將不對任何模式下的 tensors 應用抗鋸齒。PIL 影像在雙線性或雙三次模式下仍然會應用抗鋸齒,因為 PIL 不支援無抗鋸齒。None: 對於 tensors 等同於False,對於 PIL 影像等同於True。此值是出於歷史原因而存在,除非您非常清楚自己在做什麼,否則可能不應使用它。
為了使 PIL 和 Tensor 後端保持一致,在 v0.17 中,預設值從
None更改為True。
使用
RandomResizedCrop的示例