class_docstr: This variant of RandomErasing is intended to be applied to a video tensor i.e,
  batch of images after it has been normalized by dataset mean and std.
  
  Randomly selects a rectangle region in an image and erases its pixels.
  'Random Erasing Data Augmentation' by Zhong et al.
  See https://arxiv.org/pdf/1708.04896.pdf
  
  Args:
      probability (float): Probability that the Random Erasing operation will be performed.
      min_area (float): Minimum percentage of erased area wrt input image area.
      max_area (float): Maximum percentage of erased area wrt input image area.
      min_aspect (float): Minimum aspect ratio of erased area.
      mode (str): pixel color mode, one of 'const', 'rand', or 'pixel'
          'const' - erase block is constant color of 0 for all channels
          'rand'  - erase block is same per-channel random (normal) color
          'pixel' - erase block is per-pixel random (normal) color
      max_count (int): maximum number of erasing blocks per image, area per box is scaled by
          count. Per-image count is randomly chosen between 1 and this value.
      min_count (int): minimum number of erasing blocks per image, area per box is scaled by
          count. Per-image count is randomly chosen between 1 and this value.
      device (str): Device to perform the transform on.
code: def __init__(
      self,
      probability: float = 0.5,
      min_area: float = 0.02,
      max_area: float = 1 / 3,
      min_aspect: float = 0.3,
      max_aspect: Optional[float] = None,
      mode: str = "const",
      min_count: int = 1,
      max_count: Optional[int] = None,
      num_splits: int = 0,
      device: str = "cuda",
      cube: bool = True,
  ) -> None:
      self.probability = probability
      self.min_area = min_area
      self.max_area = max_area
      max_aspect = max_aspect or 1 / min_aspect
      self.log_aspect_ratio: Tuple[float, float] = (
          math.log(min_aspect),
          math.log(max_aspect),
      )
      self.min_count = min_count
      self.max_count: int = max_count or min_count
      self.num_splits = num_splits
      mode = mode.lower()
      self.rand_color: bool = False
      self.per_pixel: bool = False
      self.cube = cube
      if mode == "rand":
          self.rand_color = True  # per block random normal
      elif mode == "pixel":
          self.per_pixel = True  # per pixel random normal
      else:
          assert not mode or mode == "const"
      self.device = device
  
file_path: pytorchvideo/pytorchvideo_trainer/pytorchvideo_trainer/datamodule/rand_erase_transform.py
imports: import math
  import random
  from typing import Optional, Tuple
  import torch
label_desc: Use image node_id 1 to create a new RandomErasing object  with example: obj = RandomErasing(probability, min_area, max_area, min_aspect, max_aspect, mode, min_count, max_count, num_splits, device, cube)