|
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 |