class_docstr: The MaxConfidence attack.
  
  An attack designed for use against models that use confidence thresholding
  as a defense.
  If the underlying optimizer is optimal, this attack procedure gives the
  optimal failure rate for every confidence threshold t > 0.5.
  
  Publication: https://openreview.net/forum?id=H1g0piA9tQ
  
  :param model: cleverhans.model.Model
  :param sess: optional tf.session.Session
  :param base_attacker: cleverhans.attacks.Attack
code: def __init__(self, model, sess=None, base_attacker=None):
      if not isinstance(model, Model):
          raise TypeError(
              "Model must be cleverhans.model.Model, got "
              + str(type(model))
          )
  
      super(MaxConfidence, self).__init__(model, sess)
      if base_attacker is None:
          self.base_attacker = ProjectedGradientDescent(
              model, sess=sess
          )
      else:
          self.base_attacker = base_attacker
      self.structural_kwargs = self.base_attacker.structural_kwargs
      self.feedable_kwargs = self.base_attacker.feedable_kwargs
  
file_path: cleverhans/cleverhans_v3.1.0/cleverhans/attacks/max_confidence.py
imports: import warnings
  import tensorflow
  from cleverhans.attacks.attack import Attack
  from cleverhans.attacks.projected_gradient_descent import ProjectedGradientDescent
  from cleverhans.model import Model
label_desc: Use image node_id 1 to create a new MaxConfidence object from inherited base classes: Attack with example: obj = MaxConfidence(model, sess, base_attacker)