class_docstr: The Basic Iterative Method is the iterative version of FGM and FGSM.
  
  | Paper link: https://arxiv.org/abs/1607.02533
docstr: Create a :class:`.ProjectedGradientDescent` 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 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",":","`",".ProjectedGradientDescent","`","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","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",
      eps: Union[int, float, np.ndarray] = 0.3,
      eps_step: Union[int, float, np.ndarray] = 0.1,
      max_iter: int = 100,
      targeted: bool = False,
      batch_size: int = 32,
      verbose: bool = True,
  ) -> None:
      """
      Create a :class:`.ProjectedGradientDescent` 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 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=np.inf,
          eps=eps,
          eps_step=eps_step,
          max_iter=max_iter,
          targeted=targeted,
          num_random_init=0,
          batch_size=batch_size,
          verbose=verbose,
      )
  
file_path: adversarial-robustness-toolbox/art/attacks/evasion/iterative_method.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  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 BasicIterativeMethod object from inherited base classes: ProjectedGradientDescent with example: obj = BasicIterativeMethod(estimator, eps, eps_step, max_iter, targeted, batch_size, verbose)