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], Union[int, float, collections.abc.Sequence[int], collections.abc.Sequence[float], NoneType]] = 0, center: Optional[list[float]] = None)[原始碼]¶
隨機仿射變換,保持中心不變。
如果輸入是
torch.Tensor或TVTensor(例如Image、Video、BoundingBoxes等),它可以具有任意數量的前導批處理維度。例如,影像的形狀可以是[..., 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),則縮放因子隨機取樣於範圍 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, 可選) – 可選的旋轉中心,(x, y)。原點是左上角。預設為影像的中心。
使用
RandomAffine的示例