class_docstr: Basic neural augmentation. This class learns per-channel augmentation parameters
  and apply the same parameter to all images in a batch.
  
  See `neural (or range) augmentation <https://arxiv.org/abs/2212.10553>`_ paper for details.
class_docstr_tok: ["Basic","neural","augmentation",".","This","class","learns","per-channel","augmentation","parameters","and","apply","the","same","parameter","to","all","images","in","a","batch",".","See","`","neural","(","or","range",")","augmentation","<","https",":","\/\/arxiv.org\/abs\/2212.10553",">","`","_","paper","for","details","."]
code: def __init__(self, opts, *args, **kwargs) -> None:
      super().__init__(opts=opts, *args, **kwargs)
      aug_fns = self._build_aug_fns(opts=opts)
  
      self._is_valid_aug_fn_list(aug_fns)
  
      self.aug_fns = aug_fns
  
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 to create a new BasicNeuralAugmentor object from inherited base classes: BaseNeuralAugmentor with example: obj = BasicNeuralAugmentor(opts)