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.
docstr: Args:
      frames (tensor): frames of images sampled from the video. The
      dimension is `channel` x `num frames` x `height` x `width`.
  Returns:
      frames (tensor): frames of images sampled from the video. The
      dimension is `channel` x `num frames` x `height` x `width`.
docstr_tok: ["Args",":","frames","(","tensor",")",":","frames","of","images","sampled","from","the","video",".","The","dimension","is","`","channel","`","x","`","num","frames","`","x","`","height","`","x","`","width","`",".","Returns",":","frames","(","tensor",")",":","frames","of","images","sampled","from","the","video",".","The","dimension","is","`","channel","`","x","`","num","frames","`","x","`","height","`","x","`","width","`","."]
code: def __call__(self, frames: torch.Tensor) -> torch.Tensor:
      """
      Args:
          frames (tensor): frames of images sampled from the video. The
          dimension is `channel` x `num frames` x `height` x `width`.
      Returns:
          frames (tensor): frames of images sampled from the video. The
          dimension is `channel` x `num frames` x `height` x `width`.
      """
      # Expects frames of shape T, C, H, W
      batch_size, chan, height, width = frames.size()
      # skip first slice of batch if num_splits is set (for clean portion of samples)
      batch_start = (
          batch_size // self.num_splits if self.num_splits > 1 else 0
      )
      if self.cube:
          self._erase_cube(
              frames,
              batch_start,
              batch_size,
              chan,
              height,
              width,
              frames.dtype,
          )
      else:
          for i in range(batch_start, batch_size):
              self._erase(frames[i], chan, height, width, frames.dtype)
      return frames
  
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 4 for calling the RandomErasing obj's underlying member method code with example usage: obj.__call__(frames) and returns: frames