Ejemplo n.º 1
0
def test_attack(bn_adversarial):
    set_seeds(22)
    adv = bn_adversarial
    attack = Attack()
    attack(adv, d=1, t=10)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 2
0
def test_targeted_attack(bn_targeted_adversarial):
    set_seeds(22)
    adv = bn_targeted_adversarial
    attack = Attack()
    attack(adv, d=1)
    assert adv.perturbed is None
    assert adv.distance.value == np.inf
Ejemplo n.º 3
0
def test_attack_startingpoint(bn_adversarial):
    adv = bn_adversarial
    attack = Attack()
    o = adv.unperturbed
    np.random.seed(2)
    starting_point = np.random.uniform(0, 1, size=o.shape).astype(o.dtype)
    attack(adv, starting_point=starting_point)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 4
0
def test_subsample(bn_adversarial):
    adv = bn_adversarial
    attack = Attack()
    attack(adv, subsample=5)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 5
0
def test_lambda(bn_adversarial):
    adv = bn_adversarial
    attack = Attack()
    attack(adv, lambda_=1.5)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 6
0
def test_attack_pytorch(bn_adversarial_pytorch):
    adv = bn_adversarial_pytorch
    attack = Attack()
    attack(adv)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 7
0
def test_attack_random_targets(bn_adversarial):
    adv = bn_adversarial
    attack = Attack()
    attack(adv, num_random_targets=2)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
def test_attack_gl(gl_bn_adversarial):
    adv = gl_bn_adversarial
    attack = Attack()
    attack(adv)
    assert adv.perturbed is None
    assert adv.distance.value == np.inf
Ejemplo n.º 9
0
def test_targeted_attack(bn_targeted_adversarial):
    adv = bn_targeted_adversarial
    attack = Attack()
    attack(adv, max_iterations=100, binary_search_steps=20)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 10
0
def test_attack_eps(bn_adversarial):
    adv = bn_adversarial
    attack = Attack()
    attack(adv, epsilons=np.linspace(0.0, 1.0, 100)[1:])
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 11
0
def test_name():
    attack = Attack()
    assert "Approx" in attack.name()
Ejemplo n.º 12
0
def test_attack_gl(gl_bn_adversarial):
    adv = gl_bn_adversarial
    attack = Attack()
    attack(adv, maxiter=1, epsilon=1000)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 13
0
def test_targeted_attack_max(bn_targeted_adversarial):
    adv = bn_targeted_adversarial
    attack = Attack()
    attack(adv, max_perturbations_per_pixel=1)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 14
0
def test_targeted_attack_slow(bn_targeted_adversarial):
    adv = bn_targeted_adversarial
    attack = Attack()
    attack(adv, fast=False)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 15
0
def test_step(bn_adversarial):
    adv = bn_adversarial
    attack = Attack()
    attack(adv, steps=1)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 16
0
def test_attack_trivial(bn_trivial):
    adv = bn_trivial
    attack = Attack()
    attack(adv)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 17
0
def test_attack_rnd(bn_adversarial):
    adv = bn_adversarial
    attack = Attack()
    attack(adv, random_sampling=True)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 18
0
def test_attack_eg(eg_bn_adversarial):
    adv = eg_bn_adversarial
    attack = Attack()
    attack(adv)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 19
0
def test_attack_notrans(bn_adversarial):
    adv = bn_adversarial
    attack = Attack()
    attack(adv, do_translations=False)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
def test_attack_impossible(bn_impossible):
    adv = bn_impossible
    attack = Attack()
    attack(adv)
    assert adv.perturbed is None
    assert adv.distance.value == np.inf
Ejemplo n.º 21
0
def test_attack_notrans_norot(bn_adversarial):
    adv = bn_adversarial
    attack = Attack()
    attack(adv, do_translations=False, do_rotations=False)
    assert adv.perturbed is None
    assert adv.distance.value == np.inf
def test_untargeted_attack(bn_adversarial):
    adv = bn_adversarial
    attack = Attack()
    attack(adv)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf
Ejemplo n.º 23
0
def test_targeted_attack_pytorch(bn_targeted_adversarial_pytorch):
    adv = bn_targeted_adversarial_pytorch
    attack = Attack()
    attack(adv, num_random_targets=2)
    assert adv.perturbed is not None
    assert adv.distance.value < np.inf