快捷方式

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)[source]

按角度旋轉輸入。

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

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

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

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

  • center (序列, 可選) –

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

    注意

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

  • fill (數字元組字典, 可選) – 當 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[source]

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

返回值:

要傳遞給 rotate 以進行隨機旋轉的角度引數。

返回型別:

float

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

用於自定義變換的方法。

參見 如何編寫自己的 v2 變換

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

用於自定義變換的方法。

參見 如何編寫自己的 v2 變換

文件

查閱 PyTorch 的全面開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深入教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源