557622faca0328c0303b824006c5fe11cc87cca1,art/attacks/virtual_adversarial.py,VirtualAdversarialMethod,generate,#VirtualAdversarialMethod#Any#,33
Before Change
for ind, val in enumerate(x_adv):
d = np.random.randn(*dims)
e = np.random.randn(*dims)
for _ in range(self.max_iter):
d = self.finite_diff * self._normalize(d)
e = self.finite_diff * self._normalize(e)
preds_new = self.classifier.predict(np.stack((val + d, val + e) ))
// Compute KL divergence between logits
from scipy.stats import entropy
After Change
// TODO remove for loop
d_new = d
for i in range(*dims):
d[i] += self.finite_diff
preds_new = self.classifier.predict((val + d)[None,...], logits=False)
kl_div2 = entropy(preds[ind], preds_new[0])
d_new[i] = (kl_div2-kl_div1)/self.finite_diff
d[i] -= self.finite_diff
d = d_new
// Apply perturbation and clip
val = np.clip(val + self.eps * self._normalize(d), clip_min, clip_max)
In pattern: SUPERPATTERN
Frequency: 3
Non-data size: 6
Instances Project Name: IBM/adversarial-robustness-toolbox
Commit Name: 557622faca0328c0303b824006c5fe11cc87cca1
Time: 2018-05-09
Author: mathsinn@ie.ibm.com
File Name: art/attacks/virtual_adversarial.py
Class Name: VirtualAdversarialMethod
Method Name: generate
Project Name: pymanopt/pymanopt
Commit Name: f40c063512e47b5f56d015e0836efc90a23af25f
Time: 2020-02-01
Author: niklas.koep@gmail.com
File Name: tests/test_backends/_backend_tests.py
Class Name: TestNaryParameterGrouping
Method Name: test_nary_parameter_grouping
Project Name: IBM/adversarial-robustness-toolbox
Commit Name: 9bc56cc177b7997d6b4a30d204a08ef95a03a343
Time: 2018-05-09
Author: Maria-Irina.Nicolae@ibm.com
File Name: art/attacks/virtual_adversarial.py
Class Name: VirtualAdversarialMethod
Method Name: generate