| import argparse |
| import os.path as osp |
| from datetime import datetime |
| import pytz |
|
|
| def default_argument_parser(add_help=True, default_config_file=""): |
| parser = argparse.ArgumentParser(add_help=add_help) |
| parser.add_argument("--config-file", '-c', default=default_config_file, metavar="FILE", help="path to config file") |
| parser.add_argument( |
| "--opts", |
| help="Modify config options using the command-line", |
| default=None, |
| nargs=argparse.REMAINDER, |
| ) |
| return parser |
|
|
| def setup(args, freeze=True): |
| from .defaults import _C as cfg |
| cfg = cfg.clone() |
| cfg.merge_from_file(args.config_file) |
| cfg.merge_from_list(args.opts) |
| dt = datetime.now(pytz.timezone('America/Los_Angeles')).strftime('%y%m%d-%H%M%S') |
| cfg.output_dir = osp.join(cfg.output_dir, cfg.name, dt) |
| if freeze: |
| cfg.freeze() |
| return cfg |