graph LR
Configuration_Manager["Configuration Manager"]
Data_Pipeline["Data Pipeline"]
Model_Builder["Model Builder"]
Experiment_Orchestrator["Experiment Orchestrator"]
Results_Logging_System["Results & Logging System"]
Extensibility_Plugin_Manager["Extensibility & Plugin Manager"]
Checkpointing_System["Checkpointing System"]
Configuration_Manager -- "provides configurations to" --> Data_Pipeline
Configuration_Manager -- "supplies parameters to" --> Model_Builder
Configuration_Manager -- "passes parameters to" --> Experiment_Orchestrator
Configuration_Manager -- "defines configurations for" --> Results_Logging_System
Data_Pipeline -- "delivers data loaders to" --> Experiment_Orchestrator
Model_Builder -- "supplies model to" --> Experiment_Orchestrator
Experiment_Orchestrator -- "sends metrics to" --> Results_Logging_System
Experiment_Orchestrator -- "triggers saving/loading in" --> Checkpointing_System
Checkpointing_System -- "saves/loads for" --> Experiment_Orchestrator
Extensibility_Plugin_Manager -- "enables integration in" --> Model_Builder
Extensibility_Plugin_Manager -- "enables integration in" --> Data_Pipeline
Extensibility_Plugin_Manager -- "enables integration in" --> Experiment_Orchestrator
click Configuration_Manager href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/GraphGym/Configuration_Manager.md" "Details"
click Data_Pipeline href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/GraphGym/Data_Pipeline.md" "Details"
click Model_Builder href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/GraphGym/Model_Builder.md" "Details"
click Experiment_Orchestrator href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/GraphGym/Experiment_Orchestrator.md" "Details"
click Results_Logging_System href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/GraphGym/Results_Logging_System.md" "Details"
click Extensibility_Plugin_Manager href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/GraphGym/Extensibility_Plugin_Manager.md" "Details"
The GraphGym architecture is designed for systematic Graph Neural Network experimentation, centered around a Configuration Manager that dictates all experiment parameters. The Data Pipeline prepares and delivers data loaders to the Experiment Orchestrator, while the Model Builder dynamically constructs the GNN architecture based on configuration, supplying the model to the Experiment Orchestrator. The Experiment Orchestrator then orchestrates the training and evaluation loops, interacting with the Results & Logging System for metric collection and the Checkpointing System for state persistence. An Extensibility & Plugin Manager provides hooks for integrating custom components across the system.
Configuration Manager [Expand]
Centralizes the definition, loading, and generation of all experiment parameters, ensuring reproducibility and systematic experimentation.
Related Classes/Methods:
Data Pipeline [Expand]
Manages the entire data flow, from raw dataset loading and applying necessary transformations to preparing efficient data loaders for model consumption.
Related Classes/Methods:
Model Builder [Expand]
Dynamically constructs the Graph Neural Network architecture based on configuration, integrating various GNN layers, feature encoders, and prediction heads.
Related Classes/Methods:
Experiment Orchestrator [Expand]
The core execution engine managing training and evaluation loops, orchestrating interactions between data, model, and logging systems.
Related Classes/Methods:
Results & Logging System [Expand]
Collects, logs, and reports experiment metrics, progress, and final results, providing utilities for aggregation and analysis.
Related Classes/Methods:
Extensibility & Plugin Manager [Expand]
Provides a flexible mechanism for users to register and integrate custom components (e.g., layers, networks, datasets, optimizers) into the framework.
Related Classes/Methods:
Manages the persistence and restoration of model states, optimizer states, and training progress for resuming experiments or model deployment.
Related Classes/Methods: