class_docstr: The Decoupled Direction and Norm L2 adversarial attack. [#Rony18]_
  
  Args:
      init_epsilon : Initial value for the norm/epsilon ball.
      steps : Number of steps for the optimization.
      gamma : Factor by which the norm will be modified: new_norm = norm * (1 + or - gamma).
  
  References:
      .. [#Rony18] Jérôme Rony, Luiz G. Hafemann, Luiz S. Oliveira, Ismail Ben Ayed,
          Robert Sabourin, Eric Granger, "Decoupling Direction and Norm for
          Efficient Gradient-Based L2 Adversarial Attacks and Defenses",
          https://arxiv.org/abs/1811.09600
class_docstr_tok: ["The","Decoupled","Direction","and","Norm","L2","adversarial","attack",".","[","#","Rony18","]","_","Args",":","init_epsilon",":","Initial","value","for","the","norm\/epsilon","ball",".","steps",":","Number","of","steps","for","the","optimization",".","gamma",":","Factor","by","which","the","norm","will","be","modified",":","new_norm","=","norm","*","(","1","+","or","-","gamma",")",".","References",":","..","[","#","Rony18","]","J\u00e9r\u00f4me","Rony",",","Luiz","G.","Hafemann",",","Luiz","S.","Oliveira",",","Ismail","Ben","Ayed",",","Robert","Sabourin",",","Eric","Granger",",","``","Decoupling","Direction","and","Norm","for","Efficient","Gradient-Based","L2","Adversarial","Attacks","and","Defenses","''",",","https",":","\/\/arxiv.org\/abs\/1811.09600"]
code: def __init__(
      self,
      *,
      init_epsilon: float = 1.0,
      steps: int = 100,
      gamma: float = 0.05,
  ):
      self.init_epsilon = init_epsilon
      self.steps = steps
      self.gamma = gamma
  
file_path: foolbox/foolbox/attacks/ddn.py
imports: from typing import Union, Tuple, Optional, Any
  import math
  import eagerpy
  from ..models import Model
  from ..criteria import Misclassification, TargetedMisclassification
  from ..distances import l2
  from ..devutils import atleast_kd, flatten
  from .base import MinimizationAttack
  from .base import get_criterion
  from .base import T
  from .base import raise_if_kwargs
  from .base import verify_input_bounds
label_desc: Use image node_id 1 to create a new DDNAttack object from inherited base classes: MinimizationAttack with example: obj = DDNAttack()