szukevin's picture
upload
7900c16
raw
history blame
687 Bytes
import json
import sys
from argparse import Namespace
def load_hyperparam(default_args):
"""
Load arguments form argparse and config file
Priority: default options < config file < command line args
"""
with open(default_args.config_path, mode="r", encoding="utf-8") as f:
config_args_dict = json.load(f)
default_args_dict = vars(default_args)
command_line_args_dict = {k: default_args_dict[k] for k in [
a[2:] for a in sys.argv if (a[:2] == "--" and "local_rank" not in a)
]}
default_args_dict.update(config_args_dict)
default_args_dict.update(command_line_args_dict)
args = Namespace(**default_args_dict)
return args