class_docstr: This class represent a Feature Adversaries evasion attack in PyTorch.
  
  | Paper link: https://arxiv.org/abs/1511.05122
docstr: Create a :class:`.FeatureAdversariesPyTorch` instance.
  
  :param estimator: A trained estimator.
  :param delta: The maximum deviation between source and guide images.
  :param optimizer: Optimizer applied to problem constrained only by clip values if defined, if None the
                    Projected Gradient Descent (PGD) optimizer is used.
  :param optimizer_kwargs: Additional optimizer arguments.
  :param lambda_: Regularization parameter of the L-inf soft constraint.
  :param layer: Index or tuple of indices of the representation layer(s).
  :param max_iter: The maximum number of iterations.
  :param batch_size: Batch size.
  :param step_size: Step size for PGD optimizer.
  :param random_start: Randomly initialize perturbations, when using Projected Gradient Descent variant.
  :param verbose: Show progress bars.
code: def __init__(
      self,
      estimator: "PYTORCH_ESTIMATOR_TYPE",
      delta: float,
      optimizer: Optional["Optimizer"] = None,
      optimizer_kwargs: Optional[dict] = None,
      lambda_: float = 0.0,
      layer: Union[int, str, Tuple[int, ...], Tuple[str, ...]] = -1,
      max_iter: int = 100,
      batch_size: int = 32,
      step_size: Optional[Union[int, float]] = None,
      random_start: bool = False,
      verbose: bool = True,
  ):
      """
      Create a :class:`.FeatureAdversariesPyTorch` instance.
  
      :param estimator: A trained estimator.
      :param delta: The maximum deviation between source and guide images.
      :param optimizer: Optimizer applied to problem constrained only by clip values if defined, if None the
                        Projected Gradient Descent (PGD) optimizer is used.
      :param optimizer_kwargs: Additional optimizer arguments.
      :param lambda_: Regularization parameter of the L-inf soft constraint.
      :param layer: Index or tuple of indices of the representation layer(s).
      :param max_iter: The maximum number of iterations.
      :param batch_size: Batch size.
      :param step_size: Step size for PGD optimizer.
      :param random_start: Randomly initialize perturbations, when using Projected Gradient Descent variant.
      :param verbose: Show progress bars.
      """
      super().__init__(estimator=estimator)
  
      self.delta = delta
      self.optimizer = optimizer
      self._optimizer_kwargs = (
          {} if optimizer_kwargs is None else optimizer_kwargs
      )
      self.lambda_ = lambda_
      self.layer = layer if isinstance(layer, tuple) else (layer,)
      self.batch_size = batch_size
      self.max_iter = max_iter
      self.step_size = step_size
      self.random_start = random_start
      self.verbose = verbose
      self._check_params()
  
file_path: adversarial-robustness-toolbox/art/attacks/evasion/feature_adversaries/feature_adversaries_pytorch.py
imports: import logging
  from typing import TYPE_CHECKING, Optional, Tuple, Union
  import numpy
  from tqdm.auto import trange
  from art.attacks.attack import EvasionAttack
  from art.estimators.estimator import BaseEstimator, NeuralNetworkMixin
label_desc: Use image node_id 1 to create a new FeatureAdversariesPyTorch object from inherited base classes: EvasionAttack with example: obj = FeatureAdversariesPyTorch(estimator, delta, optimizer, optimizer_kwargs, lambda_, layer, max_iter, batch_size, step_size, random_start, verbose)