Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #11
0
def test_name():
    attack = Attack()
    assert "Approx" in attack.name()
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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
Пример #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