class_docstr: Distribution-based neural (or range) augmentation. This class samples the augmentation parameters
  from a specified distribution with learnable range.
  
  See `neural (or range) augmentation <https://arxiv.org/abs/2212.10553>`_ paper for details.
class_docstr_tok: ["Distribution-based","neural","(","or","range",")","augmentation",".","This","class","samples","the","augmentation","parameters","from","a","specified","distribution","with","learnable","range",".","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_with_uniform_dist(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 DistributionNeuralAugmentor object from inherited base classes: BaseNeuralAugmentor with example: obj = DistributionNeuralAugmentor(opts)