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] 形狀,其中 … 表示任意數量的 leading 維度
產生原始圖像的裁剪:裁剪具有隨機面積 (H * W) 和隨機長寬比。最後將此裁剪調整為給定大小。這通常用於訓練 Inception 網路。
- 參數:
size (int 或 sequence) –
每個邊緣的裁剪預期輸出大小。如果 size 是 int 而不是像 (h, w) 這樣的 sequence,則會產生一個正方形輸出大小
(size, size)
。如果提供長度為 1 的 sequence,則將其解釋為 (size[0], size[0])。注意
在 torchscript 模式下,不支援將 size 作為單個 int,請使用長度為 1 的 sequence:
[size, ]
。scale (tuple of python:float) – 指定調整大小之前,裁剪的隨機面積的下限和上限。scale 是根據原始圖像的面積定義的。
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) –
是否應用抗鋸齒。 它僅影響具有雙線性或雙三次模式的 tensors,否則會被忽略:在 PIL 圖片上,抗鋸齒始終應用於雙線性或雙三次模式;在其他模式(對於 PIL 圖片和 tensors)下,抗鋸齒沒有意義,並且此參數會被忽略。 可能的值為:
True
(預設值):將對雙線性或雙三次模式應用抗鋸齒。 其他模式不受影響。 這可能是您想要使用的。False
:將不會對任何模式下的 tensors 應用抗鋸齒。 PIL 圖片仍然在雙線性或雙三次模式下進行抗鋸齒處理,因為 PIL 不支援不使用抗鋸齒。None
:等同於 tensors 的False
和 PIL 圖片的True
。 此值因歷史原因而存在,除非您真的知道自己在做什麼,否則您可能不想使用它。
在 v0.17 中,預設值從
None
變更為True
,以使 PIL 和 Tensor 後端保持一致。
使用
RandomResizedCrop
的範例