Pad¶
- class torchvision.transforms.v2.Pad(padding: Union[int, Sequence[int]], fill: Union[int, float, Sequence[int], Sequence[float], None, Dict[Union[Type, str], Optional[Union[int, float, Sequence[int], Sequence[float]]]]] = 0, padding_mode: Literal['constant', 'edge', 'reflect', 'symmetric'] = 'constant')[source]¶
使用給定的 "pad" 值在輸入的四周進行填充。
如果輸入是
torch.Tensor
或TVTensor
(例如Image
、Video
、BoundingBoxes
等),它可以具有任意數量的 leading batch 維度。 例如,圖像可以具有[..., C, H, W]
形狀。 邊界框可以具有[..., 4]
形狀。- 參數:
padding (int 或 sequence) –
每個邊界上的填充。 如果提供單個 int,則用於填充所有邊界。 如果提供長度為 2 的 sequence,則分別是左右和上下的填充。 如果提供長度為 4 的 sequence,則分別是左、上、右和下邊界的填充。
注意
在 torchscript 模式下,不支援將 padding 作為單個 int,請使用長度為 1 的 sequence:
[padding, ]
。fill (數值 或 tuple 或 dict, 選填) – 當
padding_mode
為 constant 時,使用的像素填充值。預設值為 0。如果是一個長度為 3 的 tuple,則分別用於填充 R、G、B 通道。填充值也可以是一個字典,將資料型別映射到填充值,例如fill={tv_tensors.Image: 127, tv_tensors.Mask: 0}
,其中Image
將填充為 127,而Mask
將填充為 0。padding_mode (str, 選填) –
填充的類型。應為:constant、edge、reflect 或 symmetric。預設值為 “constant”。
constant:使用常數值填充,該值由 fill 指定
edge:使用影像邊緣的最後一個值填充。
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]
使用
Pad
的範例