示例#1
0
def test_attack_eg(request, bn_model, bn_criterion, bn_images, bn_labels):
    GradientEstimator = request.param
    gradient_estimator = GradientEstimator(epsilon=0.01)
    model = ModelWithEstimatedGradients(bn_model, gradient_estimator)
    attack = Attack(model, bn_criterion)
    advs = attack(bn_images, bn_labels, unpack=False)
    for adv in advs:
        assert adv.perturbed is not None
        assert adv.distance.value < np.inf
示例#2
0
 def eg_bn_model():
     cm_model = contextmanager(bn_model)
     with cm_model() as model:
         gradient_estimator = GradientEstimator(epsilon=0.01)
         model = ModelWithEstimatedGradients(model, gradient_estimator)
         yield model