code: def run(self):
      self.opt.log()
      model_file = self.opt["path"]
      if not model_file:
          raise RuntimeError("--model-file argument is required")
      if not PathManager.isfile(model_file):
          raise RuntimeError(f"'{model_file}' does not exist")
      logging.info(f"Loading {model_file}")
      with PathManager.open(model_file, "rb") as f:
          states = torch.load(
              f,
              map_location=lambda cpu, _: cpu,
              pickle_module=parlai.utils.pickle,
          )
      if not self.opt["no_backup"]:
          logging.info(
              f"Backing up {model_file} to {model_file}.unvacuumed"
          )
          PathManager.mv(model_file, model_file + ".unvacuumed")
      for key in [
          "optimizer",
          "optimizer_type",
          "lr_scheduler",
          "lr_scheduler_type",
          "warmup_scheduler",
          "number_training_updates",
      ]:
          if key in states:
              logging.info(f"Deleting key {key}")
              del states[key]
      keys = ", ".join(states.keys())
      logging.info(f"Remaining keys: {keys}")
      logging.info(f"Saving to {model_file}")
      atomic_save(states, model_file)
  
file_path: ParlAI/parlai/scripts/vacuum.py
imports: import torch
  from parlai.core.params import ParlaiParser
  from parlai.core.script import ParlaiScript, register_script
  from parlai.utils.torch import atomic_save
  from parlai.utils.io import PathManager
  import parlai.utils.pickle
  import parlai.utils.logging
label_desc: Use image node_id 2 for calling the Vacuum obj's underlying member method code with example usage: obj.run() without return types