class_docstr: Create a RandAugment transform.
  :param magnitude: integer magnitude of rand augment
  :param magnitude_std: standard deviation of magnitude. If > 0, introduces
  random variability in the augmentation magnitude.
  :param num_layers: integer number of transforms
  :param increasing_severity: boolean that indicates whether to use
  augmentations that increase severity w/ increasing magnitude. Some
  augmentations do this by default.
  :param weight_choice: Index of pre-determined probability distribution
  over augmentations. Currently only one such distribution available (i.e.
  no valid values other than 0 or None), unclear if beneficial. Default =
  None.
code: def __call__(self, img):
      # no replacement when using weighted choice
      ops = np.random.choice(
          self.ops,
          self.num_layers,
          replace=self.choice_weights is None,
          p=self.choice_weights,
      )
      for op in ops:
          img = op(img)
      return img
  
imports: import math
  import random
  import re
  import numpy
  import PIL
  from classy_vision.dataset.transforms import register_transform
  from classy_vision.dataset.transforms.classy_transform import ClassyTransform
  from PIL import Image, ImageEnhance, ImageOps
label_desc: Use image node_id 2 for calling the RandAugment obj's underlying member method code with example usage: obj.__call__(img) and returns: img