class_docstr: Randomly select one augmenter to apply, with chance to skip all.
  
  Parameters
  ----------
  aug_list : list of DetAugmenter
      The random selection will be applied to one of the augmenters
  skip_prob : float
      The probability to skip all augmenters and return input directly
class_docstr_tok: ["Randomly","select","one","augmenter","to","apply",",","with","chance","to","skip","all",".","Parameters","--","--","--","--","--","aug_list",":","list","of","DetAugmenter","The","random","selection","will","be","applied","to","one","of","the","augmenters","skip_prob",":","float","The","probability","to","skip","all","augmenters","and","return","input","directly"]
docstr: Augmenter implementation body
docstr_tok: ["Augmenter","implementation","body"]
code: def __call__(self, src, label):
      """Augmenter implementation body"""
      if random.random() < self.skip_prob:
          return (src, label)
      else:
          random.shuffle(self.aug_list)
          return self.aug_list[0](src, label)
  
imports: import json
  import logging
  import random
  import warnings
  import numpy
  from ..base import numeric_types
  from ..None import ndarray
  from ..ndarray._internal import _cvcopyMakeBorder
  from ..None import io
  from .image import RandomOrderAug, ColorJitterAug, LightingAug, ColorNormalizeAug
  from .image import ResizeAug, ForceResizeAug, CastAug, HueJitterAug, RandomGrayAug
  from .image import fixed_crop, ImageIter, Augmenter
  from ..util import is_np_array
  from ..None import numpy
label_desc: Use image node_id 3 for calling the DetRandomSelectAug obj's underlying member method code with example usage: obj.__call__(src, label) and returns: src,  label, self