class_docstr: This class implements the imperceptible, robust, and targeted attack to generate adversarial examples for automatic
  speech recognition models. This attack will be implemented specifically for DeepSpeech model and is framework
  dependent, specifically for PyTorch.
  
  | Paper link: https://arxiv.org/abs/1903.10346
docstr: Apply attack-specific checks.
docstr_tok: ["Apply","attack-specific","checks","."]
code: def _check_params(self) -> None:
      """
      Apply attack-specific checks.
      """
      if self.eps <= 0:
          raise ValueError(
              "The perturbation size `eps` has to be positive."
          )
  
      if not isinstance(self.max_iter_1, int):
          raise ValueError(
              "The maximum number of iterations must be of type int."
          )
      if self.max_iter_1 <= 0:
          raise ValueError(
              "The maximum number of iterations must be greater than 0."
          )
  
      if not isinstance(self.max_iter_2, int):
          raise ValueError(
              "The maximum number of iterations must be of type int."
          )
      if self.max_iter_2 <= 0:
          raise ValueError(
              "The maximum number of iterations must be greater than 0."
          )
  
      if not isinstance(self.learning_rate_1, float):
          raise ValueError("The learning rate must be of type float.")
      if self.learning_rate_1 <= 0.0:
          raise ValueError(
              "The learning rate must be greater than 0.0."
          )
  
      if not isinstance(self.learning_rate_2, float):
          raise ValueError("The learning rate must be of type float.")
      if self.learning_rate_2 <= 0.0:
          raise ValueError(
              "The learning rate must be greater than 0.0."
          )
  
      if not isinstance(self.global_max_length, int):
          raise ValueError(
              "The length of the longest audio signal must be of type int."
          )
      if self.global_max_length <= 0:
          raise ValueError(
              "The length of the longest audio signal must be greater than 0."
          )
  
      if not isinstance(self.initial_rescale, float):
          raise ValueError(
              "The initial rescale coefficient must be of type float."
          )
      if self.initial_rescale <= 0.0:
          raise ValueError(
              "The initial rescale coefficient must be greater than 0.0."
          )
  
      if not isinstance(self.decrease_factor_eps, float):
          raise ValueError(
              "The rescale factor of `eps` must be of type float."
          )
      if self.decrease_factor_eps <= 0.0:
          raise ValueError(
              "The rescale factor of `eps` must be greater than 0.0."
          )
  
      if not isinstance(self.num_iter_decrease_eps, int):
          raise ValueError(
              "The number of iterations must be of type int."
          )
      if self.num_iter_decrease_eps <= 0:
          raise ValueError(
              "The number of iterations must be greater than 0."
          )
  
      if not isinstance(self.alpha, float):
          raise ValueError("The value of alpha must be of type float.")
      if self.alpha <= 0.0:
          raise ValueError(
              "The value of alpha must be greater than 0.0."
          )
  
      if not isinstance(self.increase_factor_alpha, float):
          raise ValueError(
              "The factor to increase alpha must be of type float."
          )
      if self.increase_factor_alpha <= 0.0:
          raise ValueError(
              "The factor to increase alpha must be greater than 0.0."
          )
  
      if not isinstance(self.num_iter_increase_alpha, int):
          raise ValueError(
              "The number of iterations must be of type int."
          )
      if self.num_iter_increase_alpha <= 0:
          raise ValueError(
              "The number of iterations must be greater than 0."
          )
  
      if not isinstance(self.decrease_factor_alpha, float):
          raise ValueError(
              "The factor to decrease alpha must be of type float."
          )
      if self.decrease_factor_alpha <= 0.0:
          raise ValueError(
              "The factor to decrease alpha must be greater than 0.0."
          )
  
      if not isinstance(self.num_iter_decrease_alpha, int):
          raise ValueError(
              "The number of iterations must be of type int."
          )
      if self.num_iter_decrease_alpha <= 0:
          raise ValueError(
              "The number of iterations must be greater than 0."
          )
  
      if not isinstance(self.win_length, int):
          raise ValueError("Length of the window must be of type int.")
      if self.win_length <= 0:
          raise ValueError(
              "Length of the window must be greater than 0."
          )
  
      if not isinstance(self.hop_length, int):
          raise ValueError(
              "Number of audio samples between adjacent STFT columns must be of type int."
          )
      if self.hop_length <= 0:
          raise ValueError(
              "Number of audio samples between adjacent STFT columns must be greater than 0."
          )
  
      if not isinstance(self.n_fft, int):
          raise ValueError("FFT window size must be of type int.")
      if self.n_fft <= 0:
          raise ValueError("FFT window size must be greater than 0.")
  
      if self.win_length > self.n_fft:
          raise ValueError(
              "Length of the window must be smaller than or equal to FFT window size."
          )
  
      if self.batch_size <= 0:
          raise ValueError(
              "The batch size `batch_size` has to be positive."
          )
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import TYPE_CHECKING, Optional, Tuple, List
  import numpy
  import scipy
  from art.attacks.attack import EvasionAttack
  from art.estimators.pytorch import PyTorchEstimator
  from art.estimators.speech_recognition.pytorch_deep_speech import PyTorchDeepSpeech
  from art.estimators.speech_recognition.speech_recognizer import SpeechRecognizerMixin
  from art.estimators.speech_recognition.speech_recognizer import PytorchSpeechRecognizerMixin
label_desc: Use image node_id 10 for calling the ImperceptibleASRPyTorch obj's underlying member method code with example usage: obj._check_params() without return types