class_docstr: This is a fast implementation of "Feature Adversaries", an attack
  against a target internal representation of a model.
  "Feature adversaries" were originally introduced in (Sabour et al. 2016),
  where the optimization was done using LBFGS.
  Paper link: https://arxiv.org/abs/1511.05122
  
  This implementation is similar to "Basic Iterative Method"
  (Kurakin et al. 2016) but applied to the internal representations.
  
  :param model: cleverhans.model.Model
  :param sess: optional tf.Session
  :param dtypestr: dtype of the data
  :param kwargs: passed through to super constructor
class_docstr_tok: ["This","is","a","fast","implementation","of","``","Feature","Adversaries","''",",","an","attack","against","a","target","internal","representation","of","a","model",".","``","Feature","adversaries","''","were","originally","introduced","in","(","Sabour","et","al",".","2016",")",",","where","the","optimization","was","done","using","LBFGS",".","Paper","link",":","https",":","\/\/arxiv.org\/abs\/1511.05122","This","implementation","is","similar","to","``","Basic","Iterative","Method","''","(","Kurakin","et","al",".","2016",")","but","applied","to","the","internal","representations",".",":","param","model",":","cleverhans.model.Model",":","param","sess",":","optional","tf.Session",":","param","dtypestr",":","dtype","of","the","data",":","param","kwargs",":","passed","through","to","super","constructor"]
docstr: Take in a dictionary of parameters and applies attack-specific checks
  before saving them as attributes.
  
  Attack-specific parameters:
  
  :param layer: (required str) name of the layer to target.
  :param eps: (optional float) maximum distortion of adversarial example
              compared to original input
  :param eps_iter: (optional float) step size for each attack iteration
  :param nb_iter: (optional int) Number of attack iterations.
  :param ord: (optional) Order of the norm (mimics Numpy).
              Possible values: np.inf, 1 or 2.
  :param clip_min: (optional float) Minimum input component value
  :param clip_max: (optional float) Maximum input component value
docstr_tok: ["Take","in","a","dictionary","of","parameters","and","applies","attack-specific","checks","before","saving","them","as","attributes",".","Attack-specific","parameters",":",":","param","layer",":","(","required","str",")","name","of","the","layer","to","target",".",":","param","eps",":","(","optional","float",")","maximum","distortion","of","adversarial","example","compared","to","original","input",":","param","eps_iter",":","(","optional","float",")","step","size","for","each","attack","iteration",":","param","nb_iter",":","(","optional","int",")","Number","of","attack","iterations",".",":","param","ord",":","(","optional",")","Order","of","the","norm","(","mimics","Numpy",")",".","Possible","values",":","np.inf",",","1","or","2.",":","param","clip_min",":","(","optional","float",")","Minimum","input","component","value",":","param","clip_max",":","(","optional","float",")","Maximum","input","component","value"]
code: def parse_params(
      self,
      layer=None,
      eps=0.3,
      eps_iter=0.05,
      nb_iter=10,
      ord=np.inf,
      clip_min=None,
      clip_max=None,
      **kwargs,
  ):
      """
      Take in a dictionary of parameters and applies attack-specific checks
      before saving them as attributes.
  
      Attack-specific parameters:
  
      :param layer: (required str) name of the layer to target.
      :param eps: (optional float) maximum distortion of adversarial example
                  compared to original input
      :param eps_iter: (optional float) step size for each attack iteration
      :param nb_iter: (optional int) Number of attack iterations.
      :param ord: (optional) Order of the norm (mimics Numpy).
                  Possible values: np.inf, 1 or 2.
      :param clip_min: (optional float) Minimum input component value
      :param clip_max: (optional float) Maximum input component value
      """
  
      # Save attack-specific parameters
      self.layer = layer
      self.eps = eps
      self.eps_iter = eps_iter
      self.nb_iter = nb_iter
      self.ord = ord
      self.clip_min = clip_min
      self.clip_max = clip_max
  
      # Check if order of the norm is acceptable given current implementation
      if self.ord not in [np.inf, 1, 2]:
          raise ValueError("Norm order must be either np.inf, 1, or 2.")
      if len(kwargs.keys()) > 0:
          warnings.warn(
              "kwargs is unused and will be removed on or after "
              "2019-04-26."
          )
  
      return True
  
file_path: cleverhans/cleverhans_v3.1.0/cleverhans/attacks/fast_feature_adversaries.py
imports: import warnings
  import numpy
  import tensorflow
  from cleverhans.attacks.attack import Attack
  from cleverhans.compat import reduce_sum
  from cleverhans.model import Model
  from cleverhans.utils_tf import clip_eta
label_desc: Use image node_id 2 for calling the FastFeatureAdversaries obj's underlying member method code with example usage: obj.parse_params(layer, eps, eps_iter, nb_iter, ord, clip_min, clip_max) and returns: True