class_docstr: The TextAttack attack resume recipe module:
  
  A command line parser to resume a checkpointed attack from user
  specifications.
code: def run(self, args):
      checkpoint = self._parse_checkpoint_from_args(args)
      assert isinstance(
          checkpoint.attack_args, CommandLineAttackArgs
      ), (
          f"Expect `attack_args` to be of type `textattack.args.CommandLineAttackArgs`, but got type `{type(checkpoint.attack_args)}`. "
          f"If saved `attack_args` is not of type `textattack.args.CommandLineAttackArgs`, cannot resume attack from command line."
      )
      # merge/update arguments
      checkpoint.attack_args.parallel = args.parallel
      if args.checkpoint_dir:
          checkpoint.attack_args.checkpoint_dir = args.checkpoint_dir
      if args.checkpoint_interval:
          checkpoint.attack_args.checkpoint_interval = (
              args.checkpoint_interval
          )
  
      model_wrapper = ModelArgs._create_model_from_args(
          checkpoint.attack_args.attack_args
      )
      attack = CommandLineAttackArgs._create_attack_from_args(
          checkpoint.attack_args, model_wrapper
      )
      dataset = DatasetArgs.parse_dataset_from_args(
          checkpoint.attack_args
      )
      attacker = Attacker.from_checkpoint(attack, dataset, checkpoint)
      attacker.attack_dataset()
  
file_path: TextAttack/textattack/commands/attack_resume_command.py
imports: from argparse import ArgumentDefaultsHelpFormatter, ArgumentParser
  import os
  import textattack
  from textattack import Attacker, CommandLineAttackArgs, DatasetArgs, ModelArgs
  from textattack.commands import TextAttackCommand
label_desc: Use image node_id 1 for calling the AttackResumeCommand obj's underlying member method code with example usage: obj.run(args) without return types