Spaces:
Running
on
A10G
Running
on
A10G
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) | |