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 (number 或 tuple) – 用於常數填充的像素填充值。預設值為 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
的範例