code: def build_neural_augmentor(opts, *args, **kwargs):
      mode = getattr(opts, "model.learn_augmentation.mode", None)
  
      if mode is None:
          mode = "none"
  
      mode = mode.lower()
      if mode == "distribution":
          return DistributionNeuralAugmentor(opts=opts, *args, **kwargs)
      elif mode == "basic":
          return BasicNeuralAugmentor(opts=opts, *args, **kwargs)
      else:
          return None
  
imports: import argparse
  import random
  from typing import List, Optional
  import torch
  from torch import Tensor, nn
  from cvnets.misc.common import parameter_list
  from cvnets.neural_augmentor.utils.neural_aug_utils import Clip, FixedSampler, UniformSampler, random_brightness, random_contrast, random_noise
  from utils import logger
label_desc: Use image node_id 1 for calling a global function with example usage: build_neural_augmentor(opts) and returns: DistributionNeuralAugmentor, BasicNeuralAugmentor, None