class_docstr: Given a batch of input images and labels, this class randomly applies the
  `MixUp transformation <https://arxiv.org/abs/1710.09412>`_
  
  Args:
      opts (argparse.Namespace): Arguments
      num_classes (int): Number of classes in the dataset
code: def add_arguments(
      cls, parser: argparse.ArgumentParser
  ) -> argparse.ArgumentParser:
      group = parser.add_argument_group(title=cls.__name__)
  
      group.add_argument(
          "--image-augmentation.mixup.enable",
          action="store_true",
          help="use {}. This flag is useful when you want to study the effect of different "
          "transforms.".format(cls.__name__),
      )
      group.add_argument(
          "--image-augmentation.mixup.alpha",
          type=float,
          default=0.2,
          help="Alpha for MixUp augmentation. Defaults to 0.2",
      )
      group.add_argument(
          "--image-augmentation.mixup.p",
          type=float,
          default=1.0,
          help="Probability for applying MixUp augmentation. Defaults to 1.0 ."
          " If both MixUp and CutMix are enabled,"
          " one is used with probability 0.5 per batch.",
      )
      group.add_argument(
          "--image-augmentation.mixup.inplace",
          action="store_true",
          default=False,
          help="Apply MixUp augmentation inplace. Defaults to False.",
      )
  
      group.add_argument(
          "--image-augmentation.mixup.sample-key",
          type=str,
          default=None,
          help="Name of the key if input is a dictionart. Defaults to None.",
      )
  
      group.add_argument(
          "--image-augmentation.mixup.target-key",
          type=str,
          default=None,
          help="Name of the key if target is a dictionary. Defaults to None.",
      )
  
      return parser
  
imports: import argparse
  import math
  import random
  from typing import Dict, Tuple
  import torch
  from torch import Tensor
  from torch.nn import functional
  from torchvision.transforms import functional
  from data.transforms import TRANSFORMATIONS_REGISTRY, BaseTransformation
  from utils import logger
label_desc: Use image node_id 2 for calling the RandomMixup obj's underlying member method code with example usage: obj.add_arguments(cls, parser) and returns: parser