MCPcopy Index your code
hub / github.com/QData/TextAttack / AttackCommand

Class AttackCommand

textattack/commands/attack_command.py:14–46  ·  view source on GitHub ↗

The TextAttack attack module: A command line parser to run an attack from user specifications.

Source from the content-addressed store, hash-verified

12
13
14class AttackCommand(TextAttackCommand):
15 """The TextAttack attack module:
16
17 A command line parser to run an attack from user specifications.
18 """
19
20 def run(self, args):
21 attack_args = CommandLineAttackArgs(**vars(args))
22 dataset = DatasetArgs._create_dataset_from_args(attack_args)
23
24 if attack_args.interactive:
25 model_wrapper = ModelArgs._create_model_from_args(attack_args)
26 attack = CommandLineAttackArgs._create_attack_from_args(
27 attack_args, model_wrapper
28 )
29 Attacker.attack_interactive(attack)
30 else:
31 model_wrapper = ModelArgs._create_model_from_args(attack_args)
32 attack = CommandLineAttackArgs._create_attack_from_args(
33 attack_args, model_wrapper
34 )
35 attacker = Attacker(attack, dataset, attack_args)
36 attacker.attack_dataset()
37
38 @staticmethod
39 def register_subcommand(main_parser: ArgumentParser):
40 parser = main_parser.add_parser(
41 "attack",
42 help="run an attack on an NLP model",
43 formatter_class=ArgumentDefaultsHelpFormatter,
44 )
45 parser = CommandLineAttackArgs._add_parser_args(parser)
46 parser.set_defaults(func=AttackCommand())

Callers 1

register_subcommandMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected