graph LR
Training_Workflow_Manager["Training Workflow Manager"]
Evaluation_Workflow_Manager["Evaluation Workflow Manager"]
Optimizer_Integrator["Optimizer Integrator"]
Loss_Function_Applicator["Loss Function Applicator"]
Metric_Reporter["Metric Reporter"]
GNN_Model_Implementations["GNN Model Implementations"]
Dataset_DataLoader["Dataset/DataLoader"]
Distributed_Training_Coordinator["Distributed Training Coordinator"]
Training_Workflow_Manager -- "requests data from" --> Dataset_DataLoader
Training_Workflow_Manager -- "invokes" --> GNN_Model_Implementations
Training_Workflow_Manager -- "utilizes" --> Loss_Function_Applicator
Training_Workflow_Manager -- "directs" --> Optimizer_Integrator
Training_Workflow_Manager -- "delegates to" --> Distributed_Training_Coordinator
Training_Workflow_Manager -- "provides metrics to" --> Metric_Reporter
Evaluation_Workflow_Manager -- "requests data from" --> Dataset_DataLoader
Evaluation_Workflow_Manager -- "invokes" --> GNN_Model_Implementations
Evaluation_Workflow_Manager -- "provides metrics to" --> Metric_Reporter
GNN_Model_Implementations -- "provides predictions to" --> Loss_Function_Applicator
Dataset_DataLoader -- "provides targets to" --> Loss_Function_Applicator
Dataset_DataLoader -- "provides data to" --> Training_Workflow_Manager
Dataset_DataLoader -- "provides data to" --> Evaluation_Workflow_Manager
click GNN_Model_Implementations href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/PGL/GNN_Model_Implementations.md" "Details"
The PGL (Paddle Graph Learning) subsystem is designed to facilitate the development and deployment of Graph Neural Networks. Its core functionality revolves around a modular architecture that separates concerns such as data handling, model implementation, training orchestration, and evaluation. The system provides specialized components for managing the entire lifecycle of GNN-based applications, from data loading and batching to distributed training and performance reporting. This design promotes flexibility, allowing researchers and developers to easily integrate custom GNN models, loss functions, and optimization strategies while leveraging PGL's robust data and distributed training capabilities.
Orchestrates the complete training lifecycle. This involves fetching data, invoking the GNN model for forward computation, calculating the loss, performing backpropagation to compute gradients, and applying the optimizer to update model parameters. It manages the training loop across epochs and mini-batches.
Related Classes/Methods:
Manages the model evaluation process. This includes loading evaluation datasets, performing inference with the trained model, and computing evaluation metrics.
Related Classes/Methods:
Provides a bridge between the training workflow and PaddlePaddle's optimization routines, ensuring correct application of parameter updates.
Related Classes/Methods:
Computes the loss value based on model predictions and ground truth labels, guiding the optimization process.
Related Classes/Methods:
Gathers and presents key performance indicators (e.g., accuracy, F1-score, AUC) from both training and evaluation phases.
Related Classes/Methods:
GNN Model Implementations [Expand]
Contains the core logic for various GNN models, performing forward computation and inference based on graph data.
Related Classes/Methods:
Provides mini-batches of graph data for training and evaluation, abstracting data loading and batching complexities.
Related Classes/Methods:
Orchestrates the distribution of graph data, model parameters, and computations across multiple nodes or devices, leveraging PaddleFleet for scalable training.
Related Classes/Methods: