RandomResizedCrop¶
- class torchvision.transforms.v2.RandomResizedCrop(size: Union[int, Sequence[int]], scale: Tuple[float, float] = (0.08, 1.0), ratio: Tuple[float, float] = (0.75, 1.3333333333333333), interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, antialias: Optional[bool] = True)[source]¶
隨機裁剪輸入的一部分,並將其調整為給定的大小。
如果輸入是
torch.Tensor
或TVTensor
(例如Image
、Video
、BoundingBoxes
等),它可以具有任意數量的 leading batch 維度。 例如,影像可以具有[..., C, H, W]
形狀。 邊界框可以具有[..., 4]
形狀。建立原始輸入的裁剪:裁剪具有隨機面積 (H * W) 和隨機長寬比。此裁剪最終會調整為給定的大小。這通常用於訓練 Inception 網絡。
- 參數:
size (int 或 sequence) –
裁剪的預期輸出大小,針對每個邊緣。如果 size 是一個 int 而不是像 (h, w) 這樣的 sequence,則會建立一個正方形輸出大小
(size, size)
。 如果提供長度為 1 的 sequence,它將被解釋為 (size[0], size[0])。注意
在 torchscript 模式下,不支援作為單個 int 的 size,請使用長度為 1 的 sequence:
[size, ]
。scale (tuple of python:float, optional) – 指定調整大小之前,裁剪的隨機面積的下限和上限。 比例是根據原始影像的面積定義的。
ratio (tuple of python:float, optional) – 調整大小之前,裁剪的隨機長寬比的下限和上限。
interpolation (InterpolationMode, optional) – 由
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
的範例- static get_params(img: Tensor, scale: List[float], ratio: List[float]) Tuple[int, int, int, int] [source]¶
取得用於隨機大小裁切的
crop
的參數。