Beispiel #1
0
 def __call__(
     self,
     inputs: ep.Tensor,
     labels: ep.Tensor,
     perturbed: ep.Tensor,
     logits: ep.Tensor,
 ) -> ep.Tensor:
     classes = logits.argmax(axis=-1)
     return classes == self.target_classes
Beispiel #2
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
Beispiel #3
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
Beispiel #4
0
def misclassification(
    inputs: ep.Tensor, labels: ep.Tensor, perturbed: ep.Tensor, logits: ep.Tensor
) -> ep.Tensor:
    classes = logits.argmax(axis=-1)
    return classes != labels