def generate(self, x, **kwargs):
    """
    Return a tensor that constructs adversarial examples for the given
    input. Generate uses tf.py_func in order to operate over tensors.
    :param x: (required) A tensor with the inputs.
    :param kwargs: See `parse_params`
    """
    assert self.sess is not None, \
        'Cannot use `generate` when no `sess` was provided'
    self.parse_params(**kwargs)

    if self.y_target is None:
      self.y_target, nb_classes = self.get_or_guess_labels(x, kwargs)
      self.targeted_attack = False
    else:
      _, nb_classes = self.get_or_guess_labels(x, kwargs)
      self.targeted_attack = True

    attack = LBFGS_impl(
        self.sess, x, self.model.get_logits(x),
        self.y_target, self.targeted_attack,
        self.binary_search_steps, self.max_iterations, self.initial_const,
        self.clip_min, self.clip_max, nb_classes, self.batch_size)

    def lbfgs_wrap(x_val, y_val):
      """
      Wrapper creating TensorFlow interface for use with py_func
      """
      return np.array(attack.attack(x_val, y_val), dtype=self.np_dtype)

    wrap = tf.py_func(lbfgs_wrap, [x, self.y_target], self.tf_dtype)
    wrap.set_shape(x.get_shape())

    return wrap
def generate ( self , x , ** kwargs ) : assert self . sess is not None , 'Cannot use `generate` when no `sess` was provided' self . parse_params ( ** kwargs ) if self . y_target is None : self . y_target , nb_classes = self . get_or_guess_labels ( x , kwargs ) self . targeted_attack = False else : _ , nb_classes = self . get_or_guess_labels ( x , kwargs ) self . targeted_attack = True attack = LBFGS_impl ( self . sess , x , self . model . get_logits ( x ) , self . y_target , self . targeted_attack , self . binary_search_steps , self . max_iterations , self . initial_const , self . clip_min , self . clip_max , nb_classes , self . batch_size ) def lbfgs_wrap ( x_val , y_val ) : return np . array ( attack . attack ( x_val , y_val ) , dtype = self . np_dtype ) wrap = tf . py_func ( lbfgs_wrap , [ x , self . y_target ] , self . tf_dtype ) wrap . set_shape ( x . get_shape ( ) ) return wrap
Return a tensor that constructs adversarial examples for the given
    input. Generate uses tf.py_func in order to operate over tensors.
    :param x: (required) A tensor with the inputs.
    :param kwargs: See `parse_params`