快捷方式

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 (intsequence) –

    裁剪的預期輸出大小,針對每個邊緣。如果 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.NEARESTInterpolationMode.NEAREST_EXACTInterpolationMode.BILINEARInterpolationMode.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 的示例

如何編寫自己的 v2 變換

如何編寫自己的 v2 變換

如何使用 CutMix 和 MixUp

如何使用 CutMix 和 MixUp

變換 v2 入門

變換 v2 入門

轉換圖示

轉換圖示
forward(img)[原始碼]
引數:

img (PIL ImageTensor) – 要裁剪和縮放的影像。

返回:

隨機裁剪並縮放的影像。

返回型別:

PIL 影像或張量

static get_params(img: Tensor, scale: list[float], ratio: list[float]) tuple[int, int, int, int][原始碼]

為隨機大小的裁剪獲取 crop 的引數。

引數:
  • img (PIL ImageTensor) – 輸入影像。

  • scale (list) – 裁剪的原始尺寸的比例範圍。

  • ratio (list) – 裁剪的原始縱橫比的範圍。

返回:

將作為引數 (i, j, h, w) 傳遞給 crop,以進行隨機大小的裁剪。

返回型別:

元組

文件

訪問全面的 PyTorch 開發者文件

檢視文件

教程

為初學者和高階開發者提供深入的教程

檢視教程

資源

查詢開發資源並讓您的問題得到解答

檢視資源