code: def get_parser():
      parser = config_argparse.ArgumentParser(
          description="Speaker Embedding Extraction",
          formatter_class=argparse.ArgumentDefaultsHelpFormatter,
      )
  
      # Note(kamo): Use '_' instead of '-' as separator.
      # '-' is confusing if written in yaml.
      parser.add_argument(
          "--log_level",
          type=lambda x: x.upper(),
          default="INFO",
          choices=(
              "CRITICAL",
              "ERROR",
              "WARNING",
              "INFO",
              "DEBUG",
              "NOTSET",
          ),
          help="The verbose level of logging",
      )
  
      parser.add_argument("--output_dir", type=str, required=True)
      parser.add_argument(
          "--ngpu",
          type=int,
          default=0,
          help="The number of gpus. 0 indicates CPU mode",
      )
      parser.add_argument(
          "--seed", type=int, default=0, help="Random seed"
      )
      parser.add_argument(
          "--dtype",
          default="float32",
          choices=["float16", "float32", "float64"],
          help="Data type",
      )
      parser.add_argument(
          "--num_workers",
          type=int,
          default=1,
          help="The number of workers used for DataLoader",
      )
  
      group = parser.add_argument_group("Input data related")
      group.add_argument(
          "--data_path_and_name_and_type",
          type=str2triple_str,
          required=True,
          action="append",
      )
      group.add_argument("--key_file", type=str_or_none)
      group.add_argument(
          "--batch_size",
          type=int,
          default=1,
          help="The batch size for inference",
      )
  
      group = parser.add_argument_group(
          "The model configuration related"
      )
      group.add_argument(
          "--train_config",
          type=str,
          help="Speaker model training configuration",
      )
      group.add_argument(
          "--model_file",
          type=str,
          help="Speaker model parameter file",
      )
      group.add_argument(
          "--model_tag",
          type=str,
          help="Pretrained model tag. If specify this option, *_train_config and "
          "*_file will be overwritten",
      )
  
      return parser
  
imports: import argparse
  import logging
  import sys
  from distutils.version import LooseVersion
  from itertools import groupby
  from pathlib import Path
  from typing import Any, Dict, List, Optional, Sequence, Tuple, Union
  import numpy
  import torch
  from typeguard import check_argument_types, check_return_type
  from espnet2.fileio.npy_scp import NpyScpWriter
  from espnet2.tasks.spk import SpeakerTask
  from espnet2.torch_utils.device_funcs import to_device
  from espnet2.torch_utils.set_all_random_seed import set_all_random_seed
  from espnet2.utils import config_argparse
  from espnet2.utils.types import str2bool, str2triple_str, str_or_none
  from espnet.utils.cli_utils import get_commandline_args
label_desc: Use image node_id 2 for calling a global function with example usage: get_parser() and returns: parser