class_docstr: Linf Projected Gradient Descent with Adam optimizer
  
  Args:
      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.
      adam_beta1 : beta_1 parameter of Adam optimizer
      adam_beta2 : beta_2 parameter of Adam optimizer
      adam_epsilon : epsilon parameter of Adam optimizer responsible for numerical stability
class_docstr_tok: ["Linf","Projected","Gradient","Descent","with","Adam","optimizer","Args",":","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",".","adam_beta1",":","beta_1","parameter","of","Adam","optimizer","adam_beta2",":","beta_2","parameter","of","Adam","optimizer","adam_epsilon",":","epsilon","parameter","of","Adam","optimizer","responsible","for","numerical","stability"]
code: def __init__(
      self,
      *,
      rel_stepsize: float = 0.025,
      abs_stepsize: Optional[float] = None,
      steps: int = 50,
      random_start: bool = True,
      adam_beta1: float = 0.9,
      adam_beta2: float = 0.999,
      adam_epsilon: float = 1e-8,
  ):
      super().__init__(
          rel_stepsize=rel_stepsize,
          abs_stepsize=abs_stepsize,
          steps=steps,
          random_start=random_start,
      )
  
      self.adam_beta1 = adam_beta1
      self.adam_beta2 = adam_beta2
      self.adam_epsilon = adam_epsilon
  
imports: from typing import Optional
  from .gradient_descent_base import L1BaseGradientDescent, AdamOptimizer, Optimizer
  from .gradient_descent_base import L2BaseGradientDescent
  from .gradient_descent_base import LinfBaseGradientDescent
  import eagerpy
label_desc: Use image node_id 1 to create a new LinfAdamProjectedGradientDescentAttack object from inherited base classes: LinfProjectedGradientDescentAttack with example: obj = LinfAdamProjectedGradientDescentAttack()