快捷鍵

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], Optional[Union[int, float, Sequence[int], Sequence[float]]]]] = 0)[來源]

依角度旋轉輸入。

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

參數:
  • degrees (序列數字) – 要從中選取的角度範圍。如果 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 (序列, optional) –

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

    註釋

    理論上,如果 expand=True,則設定 center 無效,因為影像中心將成為旋轉中心。然而,實際上,由於數值精度,與一開始就使用影像中心相比,這可能會導致結果影像大小相差一個像素。因此,當設定 expand=True 時,最好將 center=None (預設值) 保持不變。

  • fill (數字tupledict, optional) – 當 padding_mode 為常數時使用的像素填充值。預設值為 0。如果長度為 3 的 tuple,則分別用於填充 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 以進行隨機旋轉的角度參數。

傳回類型:

float

make_params(flat_inputs: List[Any]) Dict[str, Any][來源]

覆寫自訂轉換的方法。

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

transform(inpt: Any, params: Dict[str, Any]) Any[來源]

覆寫自訂轉換的方法。

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

文件

存取 PyTorch 的完整開發者文件

檢視文件

教學

取得適用於初學者和進階開發者的深入教學

檢視教學

資源

尋找開發資源並獲得問題解答

檢視資源