RandomAffine¶
- class torchvision.transforms.v2.RandomAffine(degrees: Union[Number, Sequence], translate: Optional[Sequence[float]] = None, scale: Optional[Sequence[float]] = None, shear: Optional[Union[int, float, Sequence[float]]] = None, interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, fill: Union[int, float, Sequence[int], Sequence[float], None, Dict[Union[Type, str], Optional[Union[int, float, Sequence[int], Sequence[float]]]]] = 0, center: Optional[List[float]] = None)[source]¶
對輸入進行隨機仿射變換,保持中心不變。
如果輸入是
torch.Tensor或TVTensor(例如Image、Video、BoundingBoxes等),它可以具有任意數量的 leading batch 維度。例如,影像可以是[..., C, H, W]形狀。邊界框可以是[..., 4]形狀。- 引數:
degrees (sequence 或 number) – 選擇角度的範圍。如果 degrees 是一個數字而不是像 (min, max) 這樣的序列,則角度範圍將是 (-degrees, +degrees)。設定為 0 可停用旋轉。
translate (tuple, optional) – 水平和平移的最大絕對比例元組。例如 translate=(a, b),則水平偏移在 -img_width * a < dx < img_width * a 範圍內隨機取樣,垂直偏移在 -img_height * b < dy < img_height * b 範圍內隨機取樣。預設情況下不進行平移。
scale (tuple, optional) – 縮放因子區間,例如 (a, b),則 scale 在 a <= scale <= b 範圍內隨機取樣。預設情況下保持原始比例。
shear (sequence 或 number, optional) – 選擇剪下角度的範圍。如果 shear 是一個數字,將應用 x 軸平行剪下,範圍為 (-shear, +shear)。如果 shear 是一個包含 2 個值的序列,將應用 x 軸平行剪下,範圍為 (shear[0], shear[1])。如果 shear 是一個包含 4 個值的序列,將應用 x 軸剪下,範圍為 (shear[0], shear[1]),以及 y 軸剪下,範圍為 (shear[2], shear[3])。預設情況下不應用剪下。
interpolation (InterpolationMode, optional) – 由
torchvision.transforms.InterpolationMode定義的所需的插值列舉。預設值為InterpolationMode.NEAREST。如果輸入是 Tensor,僅支援InterpolationMode.NEAREST和InterpolationMode.BILINEAR。也接受相應的 Pillow 整型常量,例如PIL.Image.BILINEAR。fill (number 或 tuple 或 dict, optional) – 當
padding_mode為 constant 時使用的畫素填充值。預設值為 0。如果是一個長度為 3 的元組,則分別用於填充 R、G、B 通道。填充值也可以是一個字典,將資料型別對映到填充值,例如fill={tv_tensors.Image: 127, tv_tensors.Mask: 0},其中Image將填充 127,Mask將填充 0。center (sequence, optional) – 可選的旋轉中心,(x, y)。原點是左上角。預設是影像中心。
使用
RandomAffine的示例