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)[原始碼]¶
裁剪輸入影像的隨機部分並將其調整為指定大小。
如果輸入是
torch.Tensor或TVTensor(例如Image、Video、BoundingBoxes等),它可以具有任意數量的前導批次維度。例如,影像的形狀可以是[..., C, H, W]。邊界框的形狀可以是[..., 4]。從原始輸入中裁剪一部分:裁剪的區域(高 * 寬)和長寬比是隨機的。最後將此裁剪部分調整為指定大小。這通常用於訓練 Inception 網路。
- 引數:
size (int 或 sequence) –
裁剪的預期輸出大小,用於每個邊緣。如果 size 是一個整數而不是序列(例如 (h, w)),則會生成一個正方形輸出大小
(size, size)。如果提供長度為 1 的序列,則將其解釋為 (size[0], size[0])。注意
在 torchscript 模式下,不支援將 size 作為單個整數,請使用長度為 1 的序列:
[size, ]。scale (python:float 的 tuple, 可選) – 指定裁剪的隨機區域的下界和上界,在調整大小之前。比例定義相對於原始影像的區域。
ratio (python:float 的 tuple, 可選) – 裁剪的隨機長寬比的下界和上界,在調整大小之前。
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) –
是否應用抗鋸齒。它僅影響雙線性或雙三次模式下的張量,否則將被忽略:在 PIL 影像上,雙線性或雙三次模式始終應用抗鋸齒;在其他模式下(對於 PIL 影像和張量),抗鋸齒沒有意義,此引數將被忽略。可能的值為
True(預設):將對雙線性或雙三次模式應用抗鋸齒。其他模式不受影響。這可能是您想要使用的。False:將不對任何模式下的張量應用抗鋸齒。PIL 影像在雙線性或雙三次模式下仍然進行抗鋸齒處理,因為 PIL 不支援無抗鋸齒。None:對於張量相當於False,對於 PIL 影像相當於True。此值存在是為了相容性,除非您真的知道自己在做什麼,否則可能不希望使用它。
預設值在 v0.17 中從
None更改為True,以使 PIL 和 Tensor 後端保持一致。
使用
RandomResizedCrop的示例