Spaces:
Runtime error
Runtime error
| import argparse | |
| import yaml | |
| import sys | |
| def read_config_as_args(config_path,args=None,is_config_str=False): | |
| return_dict = {} | |
| if config_path is not None: | |
| if is_config_str: | |
| yml_config = yaml.load(config_path, Loader=yaml.FullLoader) | |
| else: | |
| with open(config_path, "r") as f: | |
| yml_config = yaml.load(f, Loader=yaml.FullLoader) | |
| if args != None: | |
| for k, v in yml_config.items(): | |
| if k in args.__dict__: | |
| args.__dict__[k] = v | |
| else: | |
| sys.stderr.write("Ignored unknown parameter {} in yaml.\n".format(k)) | |
| else: | |
| for k, v in yml_config.items(): | |
| return_dict[k] = v | |
| args = args if args != None else return_dict | |
| return argparse.Namespace(**args) | |