class_docstr: Implementation of a generic laser attack case.
class_docstr_tok: ["Implementation","of","a","generic","laser","attack","case","."]
code: def _check_params(self) -> None:
      super()._check_params()
      if self.estimator.channels_first:
          raise ValueError(
              "Channels first models are not supported. Supported tensor format: NHWC"
          )
      if self.iterations <= 0:
          raise ValueError("The iterations number has to be positive.")
      if self.random_initializations <= 0:
          raise ValueError(
              "The random initializations has to be positive."
          )
  
imports: import logging
  from typing import Callable, List, Optional, Tuple, Union, Any
  import numpy
  from art.attacks.attack import EvasionAttack
  from art.attacks.evasion.laser_attack.algorithms import greedy_search
  from art.attacks.evasion.laser_attack.utils import AdversarialObject, AdvObjectGenerator, DebugInfo, ImageGenerator, Line, wavelength_to_rgb
label_desc: Use image node_id 5 for calling the LaserAttack obj's underlying member method code with example usage: obj._check_params() without return types