class_docstr: `LowProFool` attack.
  
  | Paper link: https://arxiv.org/abs/1911.03274
class_docstr_tok: ["`","LowProFool","`","attack",".","|","Paper","link",":","https",":","\/\/arxiv.org\/abs\/1911.03274"]
docstr: Check correctness of parameters.
  
  :return: None.
docstr_tok: ["Check","correctness","of","parameters",".",":","return",":","None","."]
code: def _check_params(self) -> None:
      """
      Check correctness of parameters.
  
      :return: None.
      """
      if not (isinstance(self.n_classes, int) and self.n_classes > 0):
          raise ValueError(
              "The argument `n_classes` has to be positive integer."
          )
  
      if not (isinstance(self.n_features, int) and self.n_features > 0):
          raise ValueError(
              "The argument `n_features` has to be positive integer."
          )
  
      if not (isinstance(self.n_steps, int) and self.n_steps > 0):
          raise ValueError(
              "The argument `n_steps` (number of iterations) has to be positive integer."
          )
  
      if not (
          (isinstance(self.threshold, float) and 0 < self.threshold < 1)
          or self.threshold is None
      ):
          raise ValueError(
              "The argument `threshold` has to be either float in range (0, 1) or None."
          )
  
      if not (isinstance(self.lambd, (float, int)) and self.lambd >= 0):
          raise ValueError(
              "The argument `lambd` has to be non-negative float or integer."
          )
  
      if not (isinstance(self.eta, (float, int)) and self.eta > 0):
          raise ValueError(
              "The argument `eta` has to be positive float or integer."
          )
  
      if not (
          isinstance(self.eta_decay, (float, int))
          and 0 < self.eta_decay <= 1
      ):
          raise ValueError(
              "The argument `eta_decay` has to be float or integer in range (0, 1]."
          )
  
      if not (
          isinstance(self.eta_min, (float, int)) and self.eta_min >= 0
      ):
          raise ValueError(
              "The argument `eta_min` has to be non-negative float or integer."
          )
  
      if not (
          (isinstance(self.norm, (float, int)) and self.norm > 0)
          or (isinstance(self.norm, str) and self.norm == "inf")
          or self.norm == np.inf
      ):
          raise ValueError(
              'The argument `norm` has to be either positive-valued float or integer, np.inf, or "inf".'
          )
  
      if not (
          isinstance(self.importance, str)
          or callable(self.importance)
          or (
              isinstance(self.importance, np.ndarray)
              and self.importance.shape == (self.n_features,)
          )
      ):
          raise ValueError(
              "The argument `importance` has to be either string, "
              + "callable or np.ndarray of the shape (n_features, )."
          )
  
      if not isinstance(self.verbose, bool):
          raise ValueError(
              "The argument `verbose` has to be of type bool."
          )
  
imports: import logging
  from typing import Callable, Optional, Union, TYPE_CHECKING
  import numpy
  from scipy.stats import pearsonr
  from tqdm.auto import trange
  from art.attacks.attack import EvasionAttack
  from art.estimators.estimator import LossGradientsMixin
  from art.estimators.estimator import BaseEstimator
  from art.estimators.classification.classifier import ClassifierMixin
label_desc: Use image node_id 9 for calling the LowProFool obj's underlying member method code with example usage: obj._check_params() without return types