Source code for edflow.args

import argparse


[docs]def get_parser(**parser_kwargs): def str2bool(v): if isinstance(v, bool): return v if v.lower() in ("yes", "true", "t", "y", "1"): return True elif v.lower() in ("no", "false", "f", "n", "0"): return False else: raise argparse.ArgumentTypeError("Boolean value expected.") parser = argparse.ArgumentParser(**parser_kwargs) parser.add_argument( "-n", "--name", metavar="description", help="postfix of log directory." ) parser.add_argument( "-b", "--base", nargs="*", metavar="base_config.yaml", help="paths to base configs. Loaded from left-to-right. " "Parameters can be overwritten or added with command-line options of the form `--key value`.", default=None, ) parser.add_argument( "-t", "--train", type=str2bool, const=True, default=False, nargs="?", help="run in training mode", ) parser.add_argument("-p", "--project", help="path to existing project") parser.add_argument("-c", "--checkpoint", help="path to existing checkpoint") parser.add_argument( "-r", "--retrain", type=str2bool, const=True, default=False, nargs="?", help="reset global step", ) parser.add_argument( "-l", "--log_level", metavar="LEVEL", type=str, choices=["warn", "info", "debug", "critical"], default="info", help="set the logging level.", ) parser.add_argument( "-d", "--debug", type=str2bool, nargs="?", const=True, default=False, help="enable post-mortem debugging", ) parser.add_argument( "-w", "--wandb_sweep", nargs="?", const=True, type=str2bool, default=False, help="Process additional arguments supplied by wandb's sweep mechanism," "i.e. replace dots ('.') with slashes ('/') in the argument name: " "--par.at.level=3 => --par/at/level 3", ) return parser