class_docstr: Implementation of backdoor attacks introduced in Gu et al., 2017.
  
  Applies a number of backdoor perturbation functions and switches label to target label
  
  | Paper link: https://arxiv.org/abs/1708.06733
code: def _check_params(self) -> None:
      if not (
          callable(self.perturbation)
          or all((callable(perturb) for perturb in self.perturbation))
      ):
          raise ValueError(
              "Perturbation must be a function or a list of functions."
          )
  
file_path: adversarial-robustness-toolbox/art/attacks/poisoning/backdoor_attack.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import Callable, List, Optional, Tuple, Union
  import numpy
  from art.attacks.attack import PoisoningAttackBlackBox
label_desc: Use image node_id 3 for calling the PoisoningAttackBackdoor obj's underlying member method code with example usage: obj._check_params() without return types