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 _is_valid_aug_fn_list(self, aug_fns):
      if self.training:
          if len(aug_fns) == 0:
              logger.error(
                  "{} needs at least one learnable function.".format(
                      self.__class__.__name__
                  )
              )
  
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 2 for calling the BaseNeuralAugmentor obj's underlying member method code with example usage: obj._is_valid_aug_fn_list(aug_fns) without return types