Table of Contents
Shortcuts

# 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)

  [BETA] Rotate the input by angle.

  Note

  The RandomRotation transform is in Beta stage, and while we do not expect disruptive breaking changes, some APIs may slightly change according to user feedback. Please submit any feedback you may have in this issue: https://github.com/pytorch/vision/issues/6753.

  If the input is a `torch.Tensor` or a `TVTensor` (e.g. `Image`, `Video`, `BoundingBoxes` etc.) it can have arbitrary number of leading batch dimensions. For example, the image can have `[..., C, H, W]` shape. A bounding box can have `[..., 4]` shape.

  Parameters:

    - degrees (sequence or number) – Range of degrees to select from. If degrees is a number instead of sequence like (min, max), the range of degrees will be (-degrees, +degrees).

    - interpolation (InterpolationMode, optional) – Desired interpolation enum defined by `torchvision.transforms.InterpolationMode`. Default is `InterpolationMode.NEAREST`. If input is Tensor, only `InterpolationMode.NEAREST`, `InterpolationMode.BILINEAR` are supported. The corresponding Pillow integer constants, e.g. `PIL.Image.BILINEAR` are accepted as well.

    - expand (bool, optional) – Optional expansion flag. If true, expands the output to make it large enough to hold the entire rotated image. If false or omitted, make the output image the same size as the input image. Note that the expand flag assumes rotation around the center (see note below) and no translation.

    - center (sequence, optional) –

      Optional center of rotation, (x, y). Origin is the upper left corner. Default is the center of the image.

      Note

      In theory, setting `center` has no effect if `expand=True`, since the image center will become the center of rotation. In practice however, due to numerical precision, this can lead to off-by-one differences of the resulting image size compared to using the image center in the first place. Thus, when setting `expand=True`, it’s best to leave `center=None` (default).

    - fill (number or tuple or dict, optional) – Pixel fill value used when the `padding_mode` is constant. Default is 0. If a tuple of length 3, it is used to fill R, G, B channels respectively. Fill value can be also a dictionary mapping data type to the fill value, e.g. `fill={tv_tensors.Image: 127, tv_tensors.Mask: 0}` where `Image` will be filled with 127 and `Mask` will be filled with 0.

  static get_params(degrees: List[float]) → float

    Get parameters for `rotate` for a random rotation.

    Returns:

      angle parameter to be passed to `rotate` for random rotation.

    Return type:

      float

## Docs

Access comprehensive developer documentation for PyTorch

View Docs

## Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

## Resources

Find development resources and get your questions answered

View Resources

To analyze traffic and optimize your experience, we serve cookies on this site. By clicking or navigating, you agree to allow our usage of cookies. As the current maintainers of this site, Facebook’s Cookies Policy applies. Learn more, including about available controls: Cookies Policy.