class_docstr: Minimization attacks try to find adversarials with minimal perturbation sizes
class_docstr_tok: ["Minimization","attacks","try","to","find","adversarials","with","minimal","perturbation","sizes"]
docstr: Runs the attack and returns perturbed inputs.
  
  The size of the perturbations should be as small as possible such that
  the perturbed inputs are still adversarial. In general, this is not
  guaranteed and the caller has to verify this.
docstr_tok: ["Runs","the","attack","and","returns","perturbed","inputs",".","The","size","of","the","perturbations","should","be","as","small","as","possible","such","that","the","perturbed","inputs","are","still","adversarial",".","In","general",",","this","is","not","guaranteed","and","the","caller","has","to","verify","this","."]
code: def run(
      self,
      model: Model,
      inputs: T,
      criterion: Any,
      *,
      early_stop: Optional[float] = None,
      **kwargs: Any,
  ) -> T:
      """Runs the attack and returns perturbed inputs.
  
      The size of the perturbations should be as small as possible such that
      the perturbed inputs are still adversarial. In general, this is not
      guaranteed and the caller has to verify this.
      """
      ...
  
imports: from typing import Callable, TypeVar, Any, Union, Optional, Sequence, List, Tuple, Dict
  from typing_extensions import final, overload
  from abc import ABC, abstractmethod
  from collections.abc import Iterable
  import eagerpy
  from ..models import Model
  from ..criteria import Criterion
  from ..criteria import Misclassification
  from ..devutils import atleast_kd
  from ..distances import Distance
label_desc: Use image node_id 1 for calling the MinimizationAttack obj's underlying member method code with example usage: obj.run(model, inputs, criterion) without return types