Shortcuts

defenses

trojanzoo.defenses.add_argument(parser, defense_name=None, defense=None, class_dict={})[source]
Add defense arguments to argument parser.
For specific arguments implementation, see Defense.add_argument().
Parameters:
  • parser (argparse.ArgumentParser) – The parser to add arguments.

  • defense_name (str) – The defense name.

  • defense (str | Defense) – The defense instance or defense name (as the alias of defense_name).

  • class_dict (dict[str, type[Defense]]) – Map from defense name to defense class. Defaults to {}.

Returns:

argparse._ArgumentGroup – The argument group.

trojanzoo.defenses.create(defense_name=None, defense=None, folder_path=None, dataset_name=None, dataset=None, model_name=None, model=None, config=config, class_dict={}, **kwargs)[source]
Create a defense instance.
For arguments not included in kwargs, use the default values in config.
The default value of folder_path is '{defense_dir}/{dataset.data_type}/{dataset.name}/{model.name}/{defense.name}'.
For defense implementation, see Defense.
Parameters:
  • defense_name (str) – The defense name.

  • defense (str | Defense) – The defense instance or defense name (as the alias of defense_name).

  • dataset_name (str) – The dataset name.

  • dataset (str | trojanzoo.datasets.Dataset) – Dataset instance or dataset name (as the alias of dataset_name).

  • model_name (str) – The model name.

  • model (str | Model) – The model instance or model name (as the alias of model_name).

  • config (Config) – The default parameter config.

  • class_dict (dict[str, type[Defense]]) – Map from defense name to defense class. Defaults to {}.

  • **kwargs – The keyword arguments passed to defense init method.

Returns:

Defense – The defense instance.

class trojanzoo.defenses.Defense(attack=None, **kwargs)[source]
An abstract class representing a defense.

Note

This is the implementation of defense. For users, please use create() instead, which is more user-friendly.

Variables:

attack (trojanzoo.attacks.Attack | None) – The attack instance.

classmethod add_argument(group)[source]

Add defense arguments to argument parser group. View source to see specific arguments.

Note

This is the implementation of adding arguments. The concrete defense class may override this method to add more arguments. For users, please use add_argument() instead, which is more user-friendly.

abstract detect(*args, **kwargs)[source]

Main detect method (need overriding).

Docs

Access comprehensive developer documentation for TrojanZoo

View Docs