graph LR
Experiment_Orchestration_Configuration["Experiment Orchestration & Configuration"]
Data_Management_Preprocessing["Data Management & Preprocessing"]
Model_Library["Model Library"]
Model_Task_Adapters["Model Task Adapters"]
Training_Evaluation_Engine["Training & Evaluation Engine"]
Optimized_Graph_Operations["Optimized Graph Operations"]
Experiment_Orchestration_Configuration -- "configures data loading and preprocessing parameters" --> Data_Management_Preprocessing
Experiment_Orchestration_Configuration -- "selects and initializes models based on experiment configuration" --> Model_Library
Experiment_Orchestration_Configuration -- "initiates and monitors the training and evaluation process" --> Training_Evaluation_Engine
Data_Management_Preprocessing -- "supplies batched and preprocessed data for model training and evaluation" --> Training_Evaluation_Engine
Model_Library -- "provides the underlying model architectures to be adapted for specific tasks" --> Model_Task_Adapters
Model_Library -- "utilizes optimized low-level operations for efficient graph computations within models" --> Optimized_Graph_Operations
Model_Task_Adapters -- "invokes the forward pass and other model-specific computations on the selected model" --> Model_Library
Model_Task_Adapters -- "sends model predictions, losses, and intermediate results for training updates and evaluation" --> Training_Evaluation_Engine
Training_Evaluation_Engine -- "orchestrates the training steps, calling the adapter for forward/backward passes and updates" --> Model_Task_Adapters
Training_Evaluation_Engine -- "reports final experiment results, logs, and status back to the orchestrator" --> Experiment_Orchestration_Configuration
click Experiment_Orchestration_Configuration href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/CogDL/Experiment_Orchestration_Configuration.md" "Details"
click Data_Management_Preprocessing href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/CogDL/Data_Management_Preprocessing.md" "Details"
click Model_Library href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/CogDL/Model_Library.md" "Details"
click Model_Task_Adapters href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/CogDL/Model_Task_Adapters.md" "Details"
click Training_Evaluation_Engine href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/CogDL/Training_Evaluation_Engine.md" "Details"
click Optimized_Graph_Operations href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/CogDL/Optimized_Graph_Operations.md" "Details"
The CogDL architecture is structured around a clear data and control flow, beginning with the Experiment Orchestration & Configuration component that defines and initiates the entire machine learning pipeline. This orchestrator directs the Data Management & Preprocessing component to prepare datasets, which are then fed into the Training & Evaluation Engine. The engine drives the iterative training process, interacting with Model Task Adapters that wrap specific models from the Model Library. These models leverage Optimized Graph Operations for high-performance computations. Throughout the process, the Training & Evaluation Engine assesses model performance and reports back to the orchestrator, ensuring a streamlined and efficient workflow for developing and evaluating Graph Neural Network models. This modular design allows for easy extension and integration of new models, datasets, and tasks, making CogDL a flexible toolkit for GNN research and application.
Experiment Orchestration & Configuration [Expand]
Manages the overall experiment lifecycle, from parsing command-line arguments and loading configurations to orchestrating the training and evaluation process. It serves as the central entry point for running ML experiments.
Related Classes/Methods:
Data Management & Preprocessing [Expand]
Handles loading, preprocessing, and transforming various graph datasets into an iterable, batched format suitable for model consumption, including task-specific data splits and augmentations.
Related Classes/Methods:
Model Library [Expand]
A comprehensive collection of various Graph Neural Network (GNN) architectures, graph embedding algorithms, and specialized integrations like OAG-BERT models.
Related Classes/Methods:
Model Task Adapters [Expand]
Wraps core models from the Model Library to adapt them for specific downstream tasks (e.g., node classification, link prediction, graph classification), handling task-specific loss calculation and metric reporting.
Related Classes/Methods:
Training & Evaluation Engine [Expand]
Manages the iterative training and evaluation loops, including optimizer updates, distributed training, device management, and quantitative assessment of model performance using various metrics.
Related Classes/Methods:
Optimized Graph Operations [Expand]
Provides highly optimized, low-level operations crucial for efficient graph computations, such as sparse matrix multiplication and various aggregation functions, leveraging underlying hardware capabilities.
Related Classes/Methods: