code: def parse_args():
      def str2bool(s):
          if isinstance(s, bool):
              return s
          if s.lower() in ("yes", "true", "t", "y", "1"):
              return True
          if s.lower() in ("no", "false", "f", "n", "0"):
              return False
          raise argparse.ArgumentTypeError("Boolean value expected.")
  
      """ Parse the user arguments. """
      parser = argparse.ArgumentParser(description="FBNet for PFLD")
      parser.add_argument(
          "--dev_id", dest="dev_id", default="0", type=str
      )
      parser.add_argument("--opt", default="rms", type=str)
      parser.add_argument("--base_lr", default=0.0001, type=int)
      parser.add_argument(
          "--weight-decay", "--wd", default=1e-6, type=float
      )
      parser.add_argument("--img_size", default=112, type=int)
      parser.add_argument(
          "--theta-lr", "--tlr", default=0.01, type=float
      )
      parser.add_argument(
          "--mode", default="mul", type=str, choices=["mul", "add"]
      )
      parser.add_argument("--alpha", default=0.25, type=float)
      parser.add_argument("--beta", default=0.6, type=float)
      parser.add_argument("--start_epoch", default=50, type=int)
      parser.add_argument("--end_epoch", default=300, type=int)
      parser.add_argument(
          "--snapshot", default="models", type=str, metavar="PATH"
      )
      parser.add_argument("--log_file", default="train.log", type=str)
      parser.add_argument(
          "--data_root", default="/dataset", type=str, metavar="PATH"
      )
      parser.add_argument("--train_batchsize", default=256, type=int)
      parser.add_argument("--val_batchsize", default=128, type=int)
      parser.add_argument(
          "--perf_metric",
          default="flops",
          type=str,
          choices=["flops", "latency"],
      )
      parser.add_argument("--lut_load", type=str2bool, default=False)
      parser.add_argument(
          "--lut_load_format",
          default="json",
          type=str,
          choices=["json", "numpy"],
      )
  
      args = parser.parse_args()
      args.snapshot = os.path.join(args.snapshot, "supernet")
      args.log_file = os.path.join(
          args.snapshot, "{}.log".format("supernet")
      )
      os.makedirs(args.snapshot, exist_ok=True)
      return args
  
file_path: nni/examples/nas/legacy/oneshot/pfld/train.py
imports: from __future__ import absolute_import, division, print_function
  import argparse
  import logging
  import os
  import torch
  import torchvision
  import numpy
  from datasets import PFLDDatasets
  from lib.builder import search_space
  from lib.ops import PRIMITIVES
  from lib.trainer import PFLDTrainer
  from lib.utils import PFLDLoss
  from nni.algorithms.nas.pytorch.fbnet import LookUpTable, NASConfig
  from torch.utils.data import DataLoader
label_desc: Use image node_id 2 for calling a global function with example usage: parse_args() and returns: args, s, True, False