快捷方式

RandomRotation

class torchvision.transforms.v2.RandomRotation(degrees: Union[Number, Sequence], interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, expand: bool = False, center: Optional[list[float]] = None, 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)[原始碼]

將輸入旋轉指定的角度。

如果輸入是 torch.TensorTVTensor(例如 ImageVideoBoundingBoxes 等),它可以具有任意數量的前導批次維度。例如,影像可以具有 [..., C, H, W] 的形狀。邊界框可以具有 [..., 4] 的形狀。

引數:
  • degrees (sequencenumber) – 選擇角度的範圍。如果 degrees 是數字而不是序列(例如 (min, max)),則角度範圍將是 [-degrees, +degrees]。

  • interpolation (InterpolationMode, optional) – 由 torchvision.transforms.InterpolationMode 定義的期望的插值列舉。預設為 InterpolationMode.NEAREST。如果輸入是 Tensor,則僅支援 InterpolationMode.NEARESTInterpolationMode.BILINEAR。也接受相應的 Pillow 整數常量,例如 PIL.Image.BILINEAR

  • expand (bool, optional) – 可選的擴充套件標誌。如果為 True,則擴充套件輸出以使其足夠大以容納整個旋轉後的影像。如果為 False 或省略,則輸出影像的大小與輸入影像相同。請注意,expand 標誌假定圍繞中心旋轉(見下文說明)且沒有平移。

  • center (sequence, optional) –

    可選的旋轉中心,(x, y)。原點是左上角。預設是影像的中心。

    注意

    理論上,當 expand=True 時,設定 center 沒有影響,因為影像中心將成為旋轉中心。然而,在實踐中,由於數值精度問題,與一開始就使用影像中心相比,這可能導致結果影像大小出現一個畫素的差異。因此,當設定 expand=True 時,最好將 center=None(預設值)。

  • fill (numbertupledict, optional) – 當 padding_mode 為 constant 時使用的畫素填充值。預設為 0。如果為長度為 3 的元組,則分別用於填充 R、G、B 通道。填充值也可以是對映資料型別到填充值的字典,例如 fill={tv_tensors.Image: 127, tv_tensors.Mask: 0},其中 Image 將用 127 填充,Mask 將用 0 填充。

使用 RandomRotation 的示例

關鍵點上的變換

關鍵點上的變換

旋轉邊界框上的變換

旋轉邊界框上的變換

轉換圖示

轉換圖示
static get_params(degrees: list[float]) float[原始碼]

獲取用於隨機旋轉的 rotate 引數。

返回:

用於隨機旋轉的 rotate 的 angle 引數。

返回型別:

浮點數

make_params(flat_inputs: list[Any]) dict[str, Any][原始碼]

用於覆蓋自定義變換的方法。

請參閱 如何編寫自己的 v2 變換

transform(inpt: Any, params: dict[str, Any]) Any[原始碼]

用於覆蓋自定義變換的方法。

請參閱 如何編寫自己的 v2 變換

文件

訪問全面的 PyTorch 開發者文件

檢視文件

教程

為初學者和高階開發者提供深入的教程

檢視教程

資源

查詢開發資源並讓您的問題得到解答

檢視資源