class_docstr: Base class for `neural (or range) augmentation <https://arxiv.org/abs/2212.10553>`_
class_docstr_tok: ["Base","class","for","`","neural","(","or","range",")","augmentation","<","https",":","\/\/arxiv.org\/abs\/2212.10553",">","`","_"]
code: def __init__(self, opts, *args, **kwargs):
      super().__init__()
      self.opts = opts
  
      self.lr_multiplier = getattr(
          opts, "model.learn_augmentation.lr_multiplier", 1.0
      )
  
      # Set variables corresponding to different transforms to None.
      # We will override them in child classes with learnable versions
      self.brightness = None
      self.contrast = None
      self.noise = None
  
      self.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 BaseNeuralAugmentor object from inherited base classes: nn with example: obj = BaseNeuralAugmentor(opts)