class_docstr: This module implements Expectation over Transformation preprocessing for image rotation in PyTorch.
docstr: Create an instance of EoTImageRotationPyTorch.
  
  :param nb_samples: Number of random samples per input sample.
  :param clip_values: Tuple of the form `(min, max)` representing the minimum and maximum values allowed
                      for features.
  :param angles: In degrees and counter-clockwise. If a positive scalar it defines the uniform sampling range from
                 negative to positive value. If a tuple of two scalar angles it defines the uniform sampling
                 range from minimum to maximum angles. If a list of scalar values it defines the discrete angles
                 that will be sampled. For `label_type="object_detection"` only a list of multiples of 90 degrees
                 is supported.
  :param label_type: String defining the type of labels. Currently supported: `classification`, `object_detection`
  :param apply_fit: True if applied during fitting/training.
  :param apply_predict: True if applied during predicting.
code: def __init__(
      self,
      nb_samples: int,
      clip_values: Tuple[float, float],
      angles: Union[float, Tuple[float, float], List[float]] = 45.0,
      label_type: str = "classification",
      apply_fit: bool = False,
      apply_predict: bool = True,
  ) -> None:
      """
      Create an instance of EoTImageRotationPyTorch.
  
      :param nb_samples: Number of random samples per input sample.
      :param clip_values: Tuple of the form `(min, max)` representing the minimum and maximum values allowed
                          for features.
      :param angles: In degrees and counter-clockwise. If a positive scalar it defines the uniform sampling range from
                     negative to positive value. If a tuple of two scalar angles it defines the uniform sampling
                     range from minimum to maximum angles. If a list of scalar values it defines the discrete angles
                     that will be sampled. For `label_type="object_detection"` only a list of multiples of 90 degrees
                     is supported.
      :param label_type: String defining the type of labels. Currently supported: `classification`, `object_detection`
      :param apply_fit: True if applied during fitting/training.
      :param apply_predict: True if applied during predicting.
      """
      super().__init__(
          apply_fit=apply_fit,
          apply_predict=apply_predict,
          nb_samples=nb_samples,
          clip_values=clip_values,
      )
  
      self.angles = angles
      self.angles_range = (
          (-angles, angles)
          if isinstance(angles, (int, float))
          else angles
      )
      self.label_type = label_type
      self._check_params()
  
file_path: adversarial-robustness-toolbox/art/preprocessing/expectation_over_transformation/image_rotation/pytorch.py
imports: import logging
  from typing import Dict, List, Optional, TYPE_CHECKING, Tuple, Union
  import numpy
  from art.preprocessing.expectation_over_transformation.pytorch import EoTPyTorch
label_desc: Use image node_id 1 to create a new EoTImageRotationPyTorch object from inherited base classes: EoTPyTorch with example: obj = EoTImageRotationPyTorch(nb_samples, clip_values, angles, label_type, apply_fit, apply_predict)