class_docstr: This is a modified version of the L_2 optimized attack of Carlini and Wagner (2016). It controls the L_Inf
  norm, i.e. the maximum perturbation applied to each pixel.
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 non-negative integer."
          )
  
      if (
          not isinstance(self.decrease_factor, (int, float))
          or not 0.0 < self.decrease_factor < 1.0
      ):
          raise ValueError(
              "The decrease factor must be a float between 0 and 1."
          )
  
      if (
          not isinstance(self.initial_const, (int, float))
          or self.initial_const < 0
      ):
          raise ValueError(
              "The initial constant value must be a positive float."
          )
  
      if (
          not isinstance(self.largest_const, (int, float))
          or self.largest_const < 0
      ):
          print(self.largest_const)
          raise ValueError(
              "The largest constant value must be a positive float."
          )
  
      if (
          not isinstance(self.const_factor, (int, float))
          or self.const_factor < 0
      ):
          raise ValueError(
              "The constant factor value must be a float and greater than 1."
          )
  
      if not isinstance(self.batch_size, int) or self.batch_size < 1:
          raise ValueError(
              "The batch size must be an integer greater than zero."
          )
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import Optional, Tuple, TYPE_CHECKING
  import numpy
  from tqdm.auto import trange
  from art.config import ART_NUMPY_DTYPE
  from art.optimizers import Adam
  from art.estimators.estimator import BaseEstimator
  from art.estimators.classification.classifier import ClassGradientsMixin
  from art.attacks.attack import EvasionAttack
  from art.utils import compute_success, get_labels_np_array, tanh_to_original, original_to_tanh
  from art.utils import check_and_transform_label_format
label_desc: Use image node_id 6 for calling the CarliniLInfMethod obj's underlying member method code with example usage: obj._check_params() without return types