import yaml import os import glob CONFIG_DIR = "./BeamDiffusionModel/models/diffusionModel/configs" # Directory containing config files def load_all_configs(): config = {} # Start with an empty config # Find all YAML files in the directory (sorted for consistency) config_files = sorted(glob.glob(os.path.join(CONFIG_DIR, "*.yml"))) for file_path in config_files: with open(file_path, "r") as file: new_config = yaml.safe_load(file) or {} # Load config (avoid None) config = deep_merge(config, new_config) # Merge into main config return config def deep_merge(dict1, dict2): """Recursively merges two dictionaries (deep merge).""" for key, value in dict2.items(): if isinstance(value, dict) and key in dict1 and isinstance(dict1[key], dict): dict1[key] = deep_merge(dict1[key], value) # Recursively merge else: dict1[key] = value # Overwrite return dict1 # Load and merge all configs automatically CONFIG = load_all_configs() print(os.getcwd()) print("Final Merged Config:") print(CONFIG) # Display merged config