class_docstr: Method from Tran et al., 2018 performing poisoning detection based on Spectral Signatures
class_docstr_tok: ["Method","from","Tran","et","al.",",","2018","performing","poisoning","detection","based","on","Spectral","Signatures"]
code: def _check_params(self) -> None:
      if self.batch_size < 0:
          raise ValueError(
              "Batch size must be positive integer. Unsupported batch size: "
              + str(self.batch_size)
          )
      if self.eps_multiplier < 0:
          raise ValueError(
              "eps_multiplier must be positive. Unsupported value: "
              + str(self.eps_multiplier)
          )
      if self.expected_pp_poison < 0 or self.expected_pp_poison > 1:
          raise ValueError(
              "expected_pp_poison must be between 0 and 1. Unsupported value: "
              + str(self.expected_pp_poison)
          )
  
file_path: adversarial-robustness-toolbox/art/defences/detector/poison/spectral_signature_defense.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  from typing import List, Tuple, TYPE_CHECKING
  import numpy
  from art.defences.detector.poison.ground_truth_evaluator import GroundTruthEvaluator
  from art.defences.detector.poison.poison_filtering_defence import PoisonFilteringDefence
  from art.utils import segment_by_class
label_desc: Use image node_id 4 for calling the SpectralSignatureDefense obj's underlying member method code with example usage: obj._check_params() without return types