graph LR
Configuration_Core["Configuration Core"]
Configuration_Generator["Configuration Generator"]
Configuration_Generator -- "depends on" --> Configuration_Core
The Configuration Manager subsystem is central to GraphGym's design, embodying the "Configuration as Central Control" and "Reproducibility" architectural patterns. It ensures that all experiment parameters are systematically defined, loaded, and managed, facilitating reproducible and scalable experimentation.
This component is the foundational element for managing experiment configurations. It is responsible for loading configuration settings from external sources (e.g., YAML files), ensuring their validity, and preparing the file system environment for experiment outputs. It acts as the gatekeeper for configuration integrity and the organizer of experiment artifacts, aligning with the "Configuration as Central Control" and "Reproducibility" architectural patterns.
Related Classes/Methods:
load_cfg:508-519assert_cfg:467-490set_out_dir:543-558set_run_dir:561-575get_fname:528-540makedirs_rm_exist:522-525
This component specializes in programmatically generating diverse sets of configurations, particularly for systematic experimentation like grid searches or controlled sampling. It enables the exploration of a design space for hyperparameter tuning or comparative studies, directly supporting the "Scalability for Experimentation" and "Reproducibility" aspects of the project.
Related Classes/Methods: