graph LR
Checkpoint_Management["Checkpoint Management"]
Model_State_Handling["Model State Handling"]
Training_State_Preparation["Training State Preparation"]
Checkpoint_Averaging_Utility["Checkpoint Averaging Utility"]
Model_Export_CoreML_["Model Export (CoreML)"]
Checkpoint_Management -- "calls" --> Training_State_Preparation
Checkpoint_Management -- "may call" --> Checkpoint_Averaging_Utility
Training_State_Preparation -- "calls" --> Model_State_Handling
The Checkpoint & Export subsystem is responsible for managing the persistence of training progress and enabling the deployment of trained models. Its boundaries are defined by the utils/checkpoint_utils.py and utils/pytorch_to_coreml.py modules, which encapsulate functionalities related to saving, loading, and converting models.
This component provides the core functionalities for saving and loading the complete training state, including the model's weights, optimizer state, and current epoch. It acts as the primary interface for persisting and restoring training progress.
Related Classes/Methods:
Focuses specifically on the extraction, loading, and manipulation of only the model's weights (state dictionary). It provides granular control over model parameters, separate from the full training state.
Related Classes/Methods:
This component is responsible for gathering and structuring all necessary information (model state, optimizer state, epoch, etc.) into a unified object that can be efficiently saved as a checkpoint. It acts as an internal helper for the Checkpoint Management component.
Related Classes/Methods:
Implements advanced checkpointing strategies, specifically the averaging of weights from multiple checkpoints. This technique is often used to improve model generalization and robustness, particularly in scenarios like Stochastic Weight Averaging (SWA).
Related Classes/Methods:
Handles the conversion of trained PyTorch models into deployment-ready formats, specifically targeting CoreML for integration into Apple's ecosystem (iOS, macOS, watchOS, tvOS).
Related Classes/Methods: