class_docstr: Implementation of the attack from Uyeong Jang et al. (2017).
  
  | Paper link: http://doi.acm.org/10.1145/3134600.3134635
class_docstr_tok: ["Implementation","of","the","attack","from","Uyeong","Jang","et","al",".","(","2017",")",".","|","Paper","link",":","http",":","\/\/doi.acm.org\/10.1145\/3134600.3134635"]
code: def _check_params(self) -> None:
      if not isinstance(self.max_iter, int) or self.max_iter <= 0:
          raise ValueError(
              "The number of iterations must be a positive integer."
          )
  
      if not isinstance(self.eta, (float, int)) or self.eta <= 0:
          raise ValueError(
              "The eta coefficient must be a positive float."
          )
  
      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/newtonfool.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import Optional, 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 to_categorical
label_desc: Use image node_id 5 for calling the NewtonFool obj's underlying member method code with example usage: obj._check_params() without return types