快捷方式

RandomCrop

class torchvision.transforms.RandomCrop(size, padding=None, pad_if_needed=False, fill=0, padding_mode='constant')[原始碼]

在隨機位置裁剪給定的圖像。如果圖像為 torch Tensor,則預期具有 […, H, W] 形狀,其中 … 表示任意數量的領先維度,但如果使用非恆定填充,則預期輸入最多具有 2 個領先維度

參數:
  • size (序列int) – 裁剪的所需輸出大小。如果 size 是一個整數而不是像 (h, w) 這樣的序列,則會進行正方形裁剪 (size, size)。如果提供長度為 1 的序列,它將被解釋為 (size[0], size[0])。

  • padding (int序列, 可選) –

    圖像每個邊框上的可選填充。預設為 None。如果提供單個整數,則用於填充所有邊框。如果提供長度為 2 的序列,則分別是左/右和上/下的填充。如果提供長度為 4 的序列,則分別是左、上、右和下邊框的填充。

    注意

    在 torchscript 模式下,不支援將填充作為單個整數,請使用長度為 1 的序列:[padding,]

  • pad_if_needed (boolean) – 如果圖像小於所需大小,它將填充圖像以避免引發異常。由於裁剪是在填充後完成的,因此填充似乎是在隨機偏移處完成的。

  • fill (numbertuple) – 用於常數填充的像素填充值。預設值為 0。如果是一個長度為 3 的 tuple,則分別用於填充 R、G、B 通道。此值僅在 padding_mode 為 constant 時使用。Torch Tensor 僅支援數字。PIL Image 僅支援 int 或 tuple 值。

  • padding_mode (str) –

    填充的類型。 應為:constant、edge、reflect 或 symmetric。預設值為 constant。

    • constant:使用常數值填充,此值由 fill 指定

    • edge:使用圖像邊緣的最後一個值填充。如果輸入一個 5D torch Tensor,則將填充最後 3 個維度,而不是最後 2 個維度

    • reflect:使用圖像的反射填充,而不重複邊緣上的最後一個值。例如,在 reflect 模式下,用 2 個元素在兩側填充 [1, 2, 3, 4] 將產生 [3, 2, 1, 2, 3, 4, 3, 2]

    • symmetric:使用圖像的反射填充,重複邊緣上的最後一個值。例如,在 symmetric 模式下,用 2 個元素在兩側填充 [1, 2, 3, 4] 將產生 [2, 1, 1, 2, 3, 4, 4, 3]

使用 RandomCrop 的範例

轉換 v2 入門

轉換 v2 入門

轉換圖解

轉換圖解

Torchscript 支援

Torchscript 支援
forward(img)[source]
參數:

img (PIL ImageTensor) – 要裁剪的圖像。

回傳值:

裁剪後的圖像。

回傳類型:

PIL Image 或 Tensor

static get_params(img: Tensor, output_size: Tuple[int, int]) Tuple[int, int, int, int][source]

取得用於隨機裁剪的 crop 參數。

參數:
  • img (PIL ImageTensor) – 要裁剪的圖像。

  • output_size (tuple) – 裁剪的預期輸出大小。

回傳值:

要傳遞給 crop 以進行隨機裁剪的參數 (i, j, h, w)。

回傳類型:

tuple

文件

存取 PyTorch 的全面開發人員文件

查看文件

教學課程

取得初學者和進階開發人員的深入教學課程

查看教學課程

資源

尋找開發資源並獲得問題解答

查看資源