code: def argument_parser():
      parser = argparse.ArgumentParser()
      parser.add_argument(
          "-o", "--output", type=str, help="Output path for artifacts"
      )
      parser.add_argument(
          "-t",
          "--trace",
          action="store_const",
          const=True,
          default=False,
          help="trace memory usage",
      )
      parser.add_argument(
          "-p",
          "--profile",
          action="store_const",
          const=True,
          default=False,
          help="enable profiling",
      )
      parser.add_argument(
          "-a",
          "--amp",
          type=str,
          default="",
          help="Automatic Mixed Precision: either nothing, 'O1' or 'O2'",
      )
      parser.add_argument(
          "-b",
          "--batch_size",
          type=int,
          default=10,
          help="Batch size used to bench the model",
      )
      return parser
  
file_path: vissl/tests/bench_vit_fsdp.py
imports: import argparse
  import contextlib
  from dataclasses import dataclass
  import torch
  import torch.multiprocessing
  import torch.nn
  from vissl.models import build_model
  from vissl.utils.fsdp_utils import fsdp_wrapper
  from vissl.utils.hydra_config import compose_hydra_configuration, convert_to_attrdict
  from vissl.utils.layer_memory_tracking import LayerwiseMemoryTracker
  from vissl.utils.profiler import create_runtime_profiler
  from vissl.utils.test_utils import in_temporary_directory, init_distributed_on_file, with_temp_files, with_timing
label_desc: Use image node_id 1 for calling a global function with example usage: argument_parser() and returns: parser