class_docstr: Reduces the contrast of the input using a perturbation of the given size
  
  Args:
      target : Target relative to the bounds from 0 (min) to 1 (max)
          towards which the contrast is reduced
class_docstr_tok: ["Reduces","the","contrast","of","the","input","using","a","perturbation","of","the","given","size","Args",":","target",":","Target","relative","to","the","bounds","from","0","(","min",")","to","1","(","max",")","towards","which","the","contrast","is","reduced"]
code: def run(
      self,
      model: Model,
      inputs: T,
      criterion: Union[Criterion, Any] = None,
      *,
      epsilon: float,
      **kwargs: Any,
  ) -> T:
      raise_if_kwargs(kwargs)
      x, restore_type = ep.astensor_(inputs)
      del inputs, criterion, kwargs
  
      verify_input_bounds(x, model)
  
      min_, max_ = model.bounds
      target = min_ + self.target * (max_ - min_)
  
      direction = target - x
      norms = ep.norms.l2(flatten(direction), axis=-1)
      scale = epsilon / atleast_kd(norms, direction.ndim)
      scale = ep.minimum(scale, 1)
  
      x = x + scale * direction
      x = x.clip(min_, max_)
      return restore_type(x)
  
file_path: foolbox/foolbox/attacks/contrast.py
imports: from typing import Union, Any
  import eagerpy
  from ..devutils import flatten
  from ..devutils import atleast_kd
  from ..criteria import Criterion
  from ..distances import l2
  from ..models import Model
  from .base import FixedEpsilonAttack
  from .base import T
  from .base import raise_if_kwargs
  from .base import verify_input_bounds
label_desc: Use image node_id 2 for calling the L2ContrastReductionAttack obj's underlying member method code with example usage: obj.run(model, inputs, criterion) and returns: restore_type