class_docstr: The TextAttack attack module:
  
  A command line parser to run an attack from user specifications.
class_docstr_tok: ["The","TextAttack","attack","module",":","A","command","line","parser","to","run","an","attack","from","user","specifications","."]
code: def run(self, args):
      attack_args = CommandLineAttackArgs(**vars(args))
      dataset = DatasetArgs._create_dataset_from_args(attack_args)
  
      if attack_args.interactive:
          model_wrapper = ModelArgs._create_model_from_args(attack_args)
          attack = CommandLineAttackArgs._create_attack_from_args(
              attack_args, model_wrapper
          )
          Attacker.attack_interactive(attack)
      else:
          model_wrapper = ModelArgs._create_model_from_args(attack_args)
          attack = CommandLineAttackArgs._create_attack_from_args(
              attack_args, model_wrapper
          )
          attacker = Attacker(attack, dataset, attack_args)
          attacker.attack_dataset()
  
imports: from argparse import ArgumentDefaultsHelpFormatter, ArgumentParser
  from textattack import Attacker, CommandLineAttackArgs, DatasetArgs, ModelArgs
  from textattack.commands import TextAttackCommand
label_desc: Use image node_id 1 for calling the AttackCommand obj's underlying member method code with example usage: obj.run(args) without return types