graph LR
Training_Orchestration["Training Orchestration"]
Epoch_Training_Loops["Epoch Training Loops"]
Loss_Computation["Loss Computation"]
Evaluation_Orchestration["Evaluation Orchestration"]
Core_Evaluation_Metrics["Core Evaluation Metrics"]
Specialized_Evaluation_Modules["Specialized Evaluation Modules"]
Training_Orchestration -- "initiates and manages" --> Epoch_Training_Loops
Epoch_Training_Loops -- "invokes for loss calculation" --> Loss_Computation
Epoch_Training_Loops -- "periodically invokes for validation" --> Evaluation_Orchestration
Loss_Computation -- "returns computed loss values to" --> Epoch_Training_Loops
Evaluation_Orchestration -- "provides validation results back to" --> Epoch_Training_Loops
Evaluation_Orchestration -- "calls functions within" --> Core_Evaluation_Metrics
Evaluation_Orchestration -- "delegates tasks to" --> Specialized_Evaluation_Modules
Core_Evaluation_Metrics -- "returns calculated error values to" --> Evaluation_Orchestration
Specialized_Evaluation_Modules -- "returns formatted results to" --> Evaluation_Orchestration
The Model Training & Evaluation subsystem is crucial for the development and refinement of deep learning models within the ROMP project. It encompasses the entire lifecycle from initiating training runs to comprehensive performance assessment.
Manages the overall training process, including model and optimizer initialization, data loading setup, and the high-level coordination of training and validation epochs. It acts as the primary entry point for initiating training runs.
Related Classes/Methods:
Implements the core iterative logic for a single training epoch. This includes performing forward passes, calculating loss, executing backward passes for gradient computation, and updating model parameters. It also manages calls to validation routines.
Related Classes/Methods:
Responsible for calculating various loss components (e.g., keypoint, parameter, detection, temporal, camera loss) by comparing model predictions against ground truth data. It aggregates these individual losses into a total loss value used for optimization.
Related Classes/Methods:
Serves as the primary entry point for model evaluation. It coordinates the inference process on validation or test datasets, manages the collection of predictions, and orchestrates the calculation and presentation of overall performance metrics.
Related Classes/Methods:
Provides a set of fundamental, reusable functions for computing standard evaluation metrics such as Mean Per Joint Position Error (MPJPE), Procrustes-aligned MPJPE (P-MPJPE), and vertex errors. These functions are designed for broad applicability across different evaluation scenarios.
Related Classes/Methods:
Adapts the general evaluation framework to the unique characteristics, data formats, and ground truth annotations of specific datasets (e.g., AGORA, Relative Human, CMU Panoptic) and focuses on evaluating multi-person tracking algorithms in video sequences.
Related Classes/Methods: