class_docstr: This implements AugMix for video. AugMix generates several chains of augmentations
  on the original video, which are then mixed together with each other and with the
  original video to create an augmented video. The input video tensor should have
  shape (T, C, H, W).
  
  AugMix: A Simple Data Processing Method to Improve Robustness and Uncertainty
  (https://arxiv.org/pdf/1912.02781.pdf)
docstr: Perform AugMix to the input video tensor.
  
  Args:
      video (torch.Tensor): Input video tensor with shape (T, C, H, W).
docstr_tok: ["Perform","AugMix","to","the","input","video","tensor",".","Args",":","video","(","torch.Tensor",")",":","Input","video","tensor","with","shape","(","T",",","C",",","H",",","W",")","."]
code: def __call__(self, video: torch.Tensor) -> torch.Tensor:
      """
      Perform AugMix to the input video tensor.
  
      Args:
          video (torch.Tensor): Input video tensor with shape (T, C, H, W).
      """
      mixing_weights = self.dirichlet.sample()
      m = self.beta.sample().item()
      mixed = torch.zeros(video.shape, dtype=torch.float32)
      for mw in mixing_weights:
          mixed += mw * self.augmix_fn(video)
      if video.dtype == torch.uint8:
          return (m * video + (1 - m) * mixed).type(torch.uint8)
      else:
          return m * video + (1 - m) * mixed
  
imports: from typing import Any, Dict, Optional
  import torch
  from pytorchvideo.transforms.augmentations import _AUGMENTATION_MAX_LEVEL, _decreasing_int_to_arg, _decreasing_to_arg, _increasing_magnitude_to_arg, _increasing_randomly_negate_to_arg, AugmentTransform
  from pytorchvideo.transforms.transforms import OpSampler
label_desc: Use image node_id 2 for calling the AugMix obj's underlying member method code with example usage: obj.__call__(video) and returns: unknown, unknown