extorch.adversarial.base

BaseAdversary

Base adversarial adversary.

class extorch.adversarial.base.BaseAdversary(use_eval_mode: bool = False)[source]

Bases: torch.nn.modules.module.Module

Base adversarial adversary.

Parameters

use_eval_mode (bool) – Whether use eval mode while generating adversarial examples. Default: False.

forward(net: torch.nn.modules.module.Module, input: torch.Tensor, target: torch.Tensor, output: Optional[torch.Tensor] = None) torch.Tensor[source]

Generate adversarial examples.

Parameters
  • net (nn.Module) – The victim network.

  • input (Tensor) – Origin input.

  • target (Tensor) – Label of the input.

  • output (Tensor) – Origin output. Default: None.

Returns

The generated adversarial examples.

Return type

adv_examples (Tensor)

abstract generate_adv(net: torch.nn.modules.module.Module, input: torch.Tensor, target: torch.Tensor, output: torch.Tensor) torch.Tensor[source]

Adversarial example generation.

Parameters
  • net (nn.Module) – The victim network.

  • input (Tensor) – Origin input.

  • target (Tensor) – Label of the input.

  • output (Tensor) – Origin output.

Returns

The generated adversarial examples.

Return type

adv_examples (Tensor)

training: bool