class_docstr: Implementation of the Jacobian-based Saliency Map Attack (Papernot et al. 2016).
  
  | Paper link: https://arxiv.org/abs/1511.07528
class_docstr_tok: ["Implementation","of","the","Jacobian-based","Saliency","Map","Attack","(","Papernot","et","al",".","2016",")",".","|","Paper","link",":","https",":","\/\/arxiv.org\/abs\/1511.07528"]
code: def _check_params(self) -> None:
      if self.gamma <= 0 or self.gamma > 1:
          raise ValueError(
              "The total perturbation percentage `gamma` must be between 0 and 1."
          )
  
      if self.batch_size <= 0:
          raise ValueError(
              "The batch size `batch_size` has to be positive."
          )
  
      if not isinstance(self.verbose, bool):
          raise ValueError(
              "The argument `verbose` has to be of type bool."
          )
  
file_path: adversarial-robustness-toolbox/art/attacks/evasion/saliency_map.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import Optional, Union, TYPE_CHECKING
  import numpy
  from tqdm.auto import trange
  from art.attacks.attack import EvasionAttack
  from art.config import ART_NUMPY_DTYPE
  from art.estimators.estimator import BaseEstimator
  from art.estimators.classification.classifier import ClassGradientsMixin
  from art.utils import check_and_transform_label_format
label_desc: Use image node_id 4 for calling the SaliencyMapMethod obj's underlying member method code with example usage: obj._check_params() without return types