code: def parse_args():
      parser = argparse.ArgumentParser(description="Train a detector")
      parser.add_argument("config", help="train config file path")
      parser.add_argument(
          "--work-dir", help="the dir to save logs and models"
      )
      parser.add_argument(
          "--resume-from", help="the checkpoint file to resume from"
      )
      parser.add_argument(
          "--no-validate",
          action="store_true",
          help="whether not to evaluate the checkpoint during training",
      )
      group_gpus = parser.add_mutually_exclusive_group()
      group_gpus.add_argument(
          "--gpus",
          type=int,
          help="number of gpus to use "
          "(only applicable to non-distributed training)",
      )
      group_gpus.add_argument(
          "--gpu-ids",
          type=int,
          nargs="+",
          help="ids of gpus to use "
          "(only applicable to non-distributed training)",
      )
      parser.add_argument(
          "--seed", type=int, default=None, help="random seed"
      )
      parser.add_argument(
          "--deterministic",
          action="store_true",
          help="whether to set deterministic options for CUDNN backend.",
      )
      parser.add_argument(
          "--options",
          nargs="+",
          action=DictAction,
          help="override some settings in the used config, the key-value pair "
          "in xxx=yyy format will be merged into config file (deprecate), "
          "change to --cfg-options instead.",
      )
      parser.add_argument(
          "--cfg-options",
          nargs="+",
          action=DictAction,
          help="override some settings in the used config, the key-value pair "
          "in xxx=yyy format will be merged into config file.",
      )
      parser.add_argument(
          "--launcher",
          choices=["none", "pytorch", "slurm", "mpi"],
          default="none",
          help="job launcher",
      )
      parser.add_argument("--local_rank", type=int, default=0)
      args = parser.parse_args()
      if "LOCAL_RANK" not in os.environ:
          os.environ["LOCAL_RANK"] = str(args.local_rank)
  
      if args.options and args.cfg_options:
          raise ValueError(
              "--options and --cfg-options cannot be both "
              "specified, --options is deprecated in favor of --cfg-options"
          )
      if args.options:
          warnings.warn(
              "--options is deprecated in favor of --cfg-options"
          )
          args.cfg_options = args.options
  
      return args
  
file_path: insightface/detection/scrfd/tools/train.py
imports: import argparse
  import copy
  import os
  import os.path
  import time
  import warnings
  import mmcv
  import torch
  from mmcv import Config, DictAction
  from mmcv.runner import get_dist_info, init_dist
  from mmcv.utils import get_git_hash
  from mmdet import __version__
  from mmdet.apis import set_random_seed, train_detector
  from mmdet.datasets import build_dataset
  from mmdet.models import build_detector
  from mmdet.utils import collect_env, get_root_logger
label_desc: Use image node_id 1 for calling a global function with example usage: parse_args() and returns: args