4c1296c88b87e1a166545d1315afb664fad9ffbe,foolbox/attacks/ddn.py,DDNAttack,run,#DDNAttack#,39
Before Change
delta = ep.zeros_like(x)
epsilon = self.init_epsilon * ep.ones(x, len(x))
worst_norm = flatten(ep.maximum(x, 1 - x)).square().sum(axis=-1).sqrt()
best_l2 = worst_norm
best_delta = delta
adv_found = ep.zeros(x, len(x)).bool()
for i in range(self.steps):
x_adv = x + delta
_, is_adversarial, gradients = grad_and_is_adversarial(x_adv, classes)
gradients = normalize_l2_norms(gradients)
l2 = ep.norms.l2(flatten(delta), axis=-1)
is_smaller = l2 < best_l2
is_both = ep.logical_and(is_adversarial, is_smaller)
adv_found = ep.logical_or(adv_found, is_adversarial)
best_l2 = ep.where(is_both, l2, best_l2)
best_delta = ep.where(atleast_kd(is_both, x.ndim), delta, best_delta)
// perform cosine annealing of LR starting from 1.0 to 0.01
delta = delta + atleast_kd(stepsize, x.ndim) * gradients
stepsize = (
0.01 + (stepsize - 0.01) * (1 + math.cos(math.pi * i / self.steps)) / 2
)
epsilon = epsilon * ep.where(is_adversarial, 1 - self.gamma, 1 + self.gamma)
epsilon = ep.minimum(epsilon, worst_norm)
// do step
delta = delta + atleast_kd(stepsize, x.ndim) * gradients
// clip to valid bounds
delta = (
delta
* atleast_kd(epsilon, x.ndim)
/ delta.square().sum(axis=(1, 2, 3), keepdims=True).sqrt()
)
delta = ep.clip(x + delta, *model.bounds) - x
x_adv = x + delta
After Change
delta = ep.zeros_like(x)
epsilon = self.init_epsilon * ep.ones(x, len(x))
worst_norm = ep.norms.l2(flatten(ep.maximum(x, 1 - x)), -1)
best_l2 = worst_norm
best_delta = delta

In pattern: SUPERPATTERN
Frequency: 4
Non-data size: 3
Instances
Project Name: bethgelab/foolbox
Commit Name: 4c1296c88b87e1a166545d1315afb664fad9ffbe
Time: 2020-02-13
Author: rzrolandzimmermann@gmail.com
File Name: foolbox/attacks/ddn.py
Class Name: DDNAttack
Method Name: run
Project Name: scikit-learn-contrib/project-template
Commit Name: b25babd44bbf1dafb7f0fe7bd633c3814770aa62
Time: 2016-05-10
Author: vighneshbirodkar@nyu.edu
File Name: examples/plot_transformer.py
Class Name:
Method Name:
Project Name: GPflow/GPflowOpt
Commit Name: 02cf73fdb1a31c2f6e779470d87343897064305c
Time: 2017-09-27
Author: Pxidbpb4Lq
File Name: gpflowopt/acquisition/mes.py
Class Name: MinValueEntropySearch
Method Name: _setup