Exemplo n.º 1
0
 def is_adversarial(perturbed: ep.Tensor,
                    logits: ep.Tensor) -> ep.Tensor:
     if change_classes_logits != 0:
         logits += ep.onehot_like(logits,
                                  classes,
                                  value=change_classes_logits)
     return criterion_(perturbed, logits)
Exemplo n.º 2
0
def test_onehot_like_raises(dummy: Tensor) -> None:
    t = ep.arange(dummy, 18).float32().reshape((6, 3))
    indices = ep.arange(t, 6) // 2
    ep.onehot_like(t, indices)

    t = ep.arange(dummy, 90).float32().reshape((6, 3, 5))
    indices = ep.arange(t, 6) // 2
    with pytest.raises(ValueError):
        ep.onehot_like(t, indices)

    t = ep.arange(dummy, 18).float32().reshape((6, 3))
    indices = ep.arange(t, 6).reshape((6, 1)) // 2
    with pytest.raises(ValueError):
        ep.onehot_like(t, indices)

    t = ep.arange(dummy, 18).float32().reshape((6, 3))
    indices = ep.arange(t, 5) // 2
    with pytest.raises(ValueError):
        ep.onehot_like(t, indices)
Exemplo n.º 3
0
def best_other_classes(logits, exclude):
    other_logits = logits - ep.onehot_like(logits, exclude, value=np.inf)
    return other_logits.argmax(axis=-1)
Exemplo n.º 4
0
def targeted_is_adv(logits: ep.Tensor, target_classes: ep.Tensor,
                    confidence) -> ep.Tensor:
    logits = logits - ep.onehot_like(logits, target_classes, value=confidence)
    classes = logits.argmax(axis=-1)
    return classes == target_classes
Exemplo n.º 5
0
def untargeted_is_adv(logits: ep.Tensor, labels: ep.Tensor,
                      confidence) -> ep.Tensor:
    logits = logits + ep.onehot_like(logits, labels, value=confidence)
    classes = logits.argmax(axis=-1)
    return classes != labels
Exemplo n.º 6
0
def test_onehot_like(dummy: Tensor, value: float) -> Tensor:
    t = ep.arange(dummy, 18).float32().reshape((6, 3))
    indices = ep.arange(t, 6) // 2
    return ep.onehot_like(t, indices, value=value)
Exemplo n.º 7
0
def best_other_classes(logits: ep.Tensor, exclude: ep.Tensor) -> ep.Tensor:
    other_logits = logits - ep.onehot_like(logits, exclude, value=ep.inf)
    return other_logits.argmax(axis=-1)