Spaces:
Sleeping
Sleeping
import os | |
import os.path as osp | |
from omegaconf import OmegaConf | |
config_suffix = [".yaml"] | |
def load_config(config: str) -> OmegaConf: | |
config = OmegaConf.load(config) | |
base_config = config.pop("base", None) | |
if base_config: | |
config = OmegaConf.merge(OmegaConf.load(base_config), config) | |
return config | |
def dump_config(config: OmegaConf, save_path: str = None): | |
from omegaconf import Container | |
if isinstance(config, Container): | |
if not save_path.endswith(".yaml"): | |
save_dir = save_path | |
save_path = osp.join(save_dir, "config.yaml") | |
else: | |
save_dir = osp.basename(config) | |
os.makedirs(save_dir, exist_ok=True) | |
OmegaConf.save(config, save_path) | |
else: | |
raise TypeError("Only support saving `Config` from `OmegaConf`.") | |
print(f"Dump Config to {save_path}.") | |