class_docstr: Linf Momentum Iterative Fast Gradient Sign Method (MI-FGSM) [#Dong18]
  
  Args:
      momentum : Momentum factor for accumulation grad
      rel_stepsize : Stepsize relative to epsilon
      abs_stepsize : If given, it takes precedence over rel_stepsize.
      steps : Number of update steps to perform.
      random_start : Whether the perturbation is initialized randomly or starts at zero.
  
  References: .. [#Dong18] Dong Y, Liao F, Pang T, et al. Boosting adversarial attacks with momentum[
  C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 9185-9193.
  https://arxiv.org/abs/1710.06081
class_docstr_tok: ["Linf","Momentum","Iterative","Fast","Gradient","Sign","Method","(","MI-FGSM",")","[","#","Dong18","]","Args",":","momentum",":","Momentum","factor","for","accumulation","grad","rel_stepsize",":","Stepsize","relative","to","epsilon","abs_stepsize",":","If","given",",","it","takes","precedence","over","rel_stepsize",".","steps",":","Number","of","update","steps","to","perform",".","random_start",":","Whether","the","perturbation","is","initialized","randomly","or","starts","at","zero",".","References",":","..","[","#","Dong18","]","Dong","Y",",","Liao","F",",","Pang","T",",","et","al",".","Boosting","adversarial","attacks","with","momentum","[","C","]","\/\/Proceedings","of","the","IEEE","conference","on","computer","vision","and","pattern","recognition",".","2018",":","9185-9193.","https",":","\/\/arxiv.org\/abs\/1710.06081"]
code: def __init__(
      self,
      *,
      momentum: float = 1.0,
      rel_stepsize: float = 0.2,
      abs_stepsize: Optional[float] = None,
      steps: int = 10,
      random_start: bool = False,
  ):
      self.momentum = momentum
      super().__init__(
          rel_stepsize=rel_stepsize,
          abs_stepsize=abs_stepsize,
          steps=steps,
          random_start=random_start,
      )
  
imports: from functools import partial
  from typing import Callable, Optional
  from foolbox.attacks.gradient_descent_base import normalize_lp_norms
  from .basic_iterative_method import Optimizer, L1BasicIterativeAttack, L2BasicIterativeAttack, LinfBasicIterativeAttack
  import eagerpy
label_desc: Use image node_id 1 to create a new LinfMomentumIterativeFastGradientMethod object from inherited base classes: LinfBasicIterativeAttack with example: obj = LinfMomentumIterativeFastGradientMethod()