code: def get_parser():
      parser = argparse.ArgumentParser(description="apply clusters")
      parser.add_argument("data", help="location of feature scp files")
      parser.add_argument(
          "--split", help="split to process", required=True
      )
      parser.add_argument(
          "--labels", help="split to process", default="phn"
      )
      parser.add_argument(
          "--output_path", help="output_path", required=True
      )
      parser.add_argument(
          "--model_path", help="model_path", required=True
      )
      parser.add_argument(
          "--layer",
          "-l",
          type=int,
          help="which layer to read",
          default=14,
      )
      parser.add_argument(
          "--max_tsz",
          type=int,
          help="batch kmeans up to this much",
          default=14,
      )
      parser.add_argument(
          "--delimiter",
          type=str,
          help="delimiter for output cluster list",
          default=" ",
      )
      parser.add_argument(
          "--faiss_specs",
          "-f",
          type=str,
          help="faiss index specs; separated by space "
          "format is: PCAx_NORM_CLUSx_SPHERICAL -> "
          "PCAx if exists first apply PCA "
          "NORM if exists, normalize the vector by L2 norm "
          "CLUSx must exist, cluster to x clusters "
          "SPEHRICAL if exists, apply spherical kmeans",
          default="l2",
      )
  
      return parser
  
file_path: espnet/egs2/kising/svs1/pyscripts/feats/feats_apply_cluster_faiss.py
imports: import argparse
  import logging
  import os
  import os.path
  import sys
  import faiss
  import numpy
  import torch
  import torch.nn.functional
  import tqdm
  from feats_cluster_faiss import parse_faiss_specs
label_desc: Use image node_id 1 for calling a global function with example usage: get_parser() and returns: parser