class_docstr: Momentum Iterative Fast Gradient Method attack integrates momentum into the iterative
  version of FGM and FGSM.
  
  | Paper link: https://arxiv.org/abs/1710.06081
class_docstr_tok: ["Momentum","Iterative","Fast","Gradient","Method","attack","integrates","momentum","into","the","iterative","version","of","FGM","and","FGSM",".","|","Paper","link",":","https",":","\/\/arxiv.org\/abs\/1710.06081"]
docstr: Create a :class:`.MomentumIterativeMethod` instance.
  
  :param estimator: A trained classifier.
  :param eps: Maximum perturbation that the attacker can introduce.
  :param eps_step: Attack step size (input variation) at each iteration.
  :param decay: Decay factor for accumulating the velocity vector.
  :param max_iter: The maximum number of iterations.
  :param targeted: Indicates whether the attack is targeted (True) or untargeted (False).
  :param batch_size: Size of the batch on which adversarial samples are generated.
  :param verbose: Show progress bars.
docstr_tok: ["Create","a",":","class",":","`",".MomentumIterativeMethod","`","instance",".",":","param","estimator",":","A","trained","classifier",".",":","param","eps",":","Maximum","perturbation","that","the","attacker","can","introduce",".",":","param","eps_step",":","Attack","step","size","(","input","variation",")","at","each","iteration",".",":","param","decay",":","Decay","factor","for","accumulating","the","velocity","vector",".",":","param","max_iter",":","The","maximum","number","of","iterations",".",":","param","targeted",":","Indicates","whether","the","attack","is","targeted","(","True",")","or","untargeted","(","False",")",".",":","param","batch_size",":","Size","of","the","batch","on","which","adversarial","samples","are","generated",".",":","param","verbose",":","Show","progress","bars","."]
code: def __init__(
      self,
      estimator: "CLASSIFIER_LOSS_GRADIENTS_TYPE",
      norm: Union[int, float, str] = np.inf,
      eps: Union[int, float, np.ndarray] = 0.3,
      eps_step: Union[int, float, np.ndarray] = 0.1,
      decay: float = 1.0,
      max_iter: int = 100,
      targeted: bool = False,
      batch_size: int = 32,
      verbose: bool = True,
  ) -> None:
      """
      Create a :class:`.MomentumIterativeMethod` instance.
  
      :param estimator: A trained classifier.
      :param eps: Maximum perturbation that the attacker can introduce.
      :param eps_step: Attack step size (input variation) at each iteration.
      :param decay: Decay factor for accumulating the velocity vector.
      :param max_iter: The maximum number of iterations.
      :param targeted: Indicates whether the attack is targeted (True) or untargeted (False).
      :param batch_size: Size of the batch on which adversarial samples are generated.
      :param verbose: Show progress bars.
      """
      super().__init__(
          estimator=estimator,
          norm=norm,
          eps=eps,
          eps_step=eps_step,
          decay=decay,
          max_iter=max_iter,
          targeted=targeted,
          num_random_init=0,
          batch_size=batch_size,
          verbose=verbose,
      )
  
imports: import logging
  from typing import Union, TYPE_CHECKING
  import numpy
  from art.attacks.evasion.projected_gradient_descent.projected_gradient_descent import ProjectedGradientDescent
label_desc: Use image node_id 1 to create a new MomentumIterativeMethod object from inherited base classes: ProjectedGradientDescent with example: obj = MomentumIterativeMethod(estimator, norm, eps, eps_step, decay, max_iter, targeted, batch_size, verbose)