class_docstr: This attack features L1-oriented adversarial examples and includes
  the C&W L2 attack as a special case (when beta is set to 0).
  Adversarial examples attain similar performance to those
  generated by the C&W L2 attack in the white-box case,
  and more importantly, have improved transferability properties
  and complement adversarial training.
  Paper link: https://arxiv.org/abs/1709.04114
  
  :param model: cleverhans.model.Model
  :param sess: tf.Session
  :param dtypestr: dtype of the data
  :param kwargs: passed through to super constructor
class_docstr_tok: ["This","attack","features","L1-oriented","adversarial","examples","and","includes","the","C","&","W","L2","attack","as","a","special","case","(","when","beta","is","set","to","0",")",".","Adversarial","examples","attain","similar","performance","to","those","generated","by","the","C","&","W","L2","attack","in","the","white-box","case",",","and","more","importantly",",","have","improved","transferability","properties","and","complement","adversarial","training",".","Paper","link",":","https",":","\/\/arxiv.org\/abs\/1709.04114",":","param","model",":","cleverhans.model.Model",":","param","sess",":","tf.Session",":","param","dtypestr",":","dtype","of","the","data",":","param","kwargs",":","passed","through","to","super","constructor"]
docstr: Note: the model parameter should be an instance of the
  cleverhans.model.Model abstraction provided by CleverHans.
docstr_tok: ["Note",":","the","model","parameter","should","be","an","instance","of","the","cleverhans.model.Model","abstraction","provided","by","CleverHans","."]
code: def __init__(self, model, sess, dtypestr="float32", **kwargs):
      """
      Note: the model parameter should be an instance of the
      cleverhans.model.Model abstraction provided by CleverHans.
      """
      if not isinstance(model, Model):
          wrapper_warning_logits()
          model = CallableModelWrapper(model, "logits")
  
      super(ElasticNetMethod, self).__init__(
          model, sess, dtypestr, **kwargs
      )
  
      self.feedable_kwargs = ("y", "y_target")
  
      self.structural_kwargs = [
          "beta",
          "decision_rule",
          "batch_size",
          "confidence",
          "targeted",
          "learning_rate",
          "binary_search_steps",
          "max_iterations",
          "abort_early",
          "initial_const",
          "clip_min",
          "clip_max",
      ]
  
file_path: cleverhans/cleverhans_v3.1.0/cleverhans/attacks/elastic_net_method.py
imports: import logging
  import numpy
  import tensorflow
  from cleverhans.attacks.attack import Attack
  from cleverhans.compat import reduce_sum, reduce_max
  from cleverhans.model import Model, CallableModelWrapper, wrapper_warning_logits
  from cleverhans import utils
label_desc: Use image node_id 1 to create a new ElasticNetMethod object from inherited base classes: Attack with example: obj = ElasticNetMethod(model, sess, dtypestr)