graph LR
Configuration_Entry["Configuration & Entry"]
Training_Orchestrator["Training Orchestrator"]
Data_Pipeline["Data Pipeline"]
Model_Prediction["Model & Prediction"]
Optimization_Metrics["Optimization & Metrics"]
Training_Hooks["Training Hooks"]
Configuration_Entry -- "initiates" --> Training_Orchestrator
Training_Orchestrator -- "requests data from" --> Data_Pipeline
Data_Pipeline -- "provides processed data to" --> Training_Orchestrator
Training_Orchestrator -- "feeds data to" --> Model_Prediction
Model_Prediction -- "returns predictions to" --> Training_Orchestrator
Training_Orchestrator -- "sends predictions and labels to" --> Optimization_Metrics
Optimization_Metrics -- "provides loss and gradients to" --> Training_Orchestrator
Optimization_Metrics -- "informs parameter updates of" --> Model_Prediction
Training_Orchestrator -- "notifies" --> Training_Hooks
Training_Hooks -- "interacts with (for state saving)" --> Model_Prediction
Training_Hooks -- "interacts with (for logging)" --> Optimization_Metrics
click Configuration_Entry href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ClassyVision/Configuration_Entry.md" "Details"
click Training_Orchestrator href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ClassyVision/Training_Orchestrator.md" "Details"
click Data_Pipeline href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ClassyVision/Data_Pipeline.md" "Details"
click Model_Prediction href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ClassyVision/Model_Prediction.md" "Details"
click Optimization_Metrics href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ClassyVision/Optimization_Metrics.md" "Details"
click Training_Hooks href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ClassyVision/Training_Hooks.md" "Details"
The ClassyVision project implements a modular and extensible machine learning training pipeline, primarily focusing on image classification tasks. The core architecture revolves around a central Training Orchestrator that coordinates data flow, model execution, and optimization. Data is managed by a dedicated Data Pipeline, ensuring efficient loading and transformation. The Model & Prediction component encapsulates the neural network, handling forward passes to generate predictions. Optimization & Metrics is responsible for calculating loss, applying parameter updates, and tracking performance. A flexible Training Hooks system allows for custom logic injection at various stages of the training lifecycle, such as logging or checkpointing. The Configuration & Entry component serves as the initial setup point, parsing arguments and initiating the entire process. This design promotes clear separation of concerns, making the system adaptable for various training scenarios and facilitating diagrammatic representation with distinct component boundaries and clear data flow arrows.
Configuration & Entry [Expand]
The initial setup and control point for the entire training process, responsible for parsing arguments, loading configurations, and orchestrating the start of the training run.
Related Classes/Methods:
Training Orchestrator [Expand]
The central coordinator of the training and evaluation lifecycle, managing the flow of data, model execution, loss calculation, and optimization steps.
Related Classes/Methods:
Data Pipeline [Expand]
Handles all aspects of data management, including loading datasets, applying transformations (e.g., augmentations, normalization), and providing data batches to the training process.
Related Classes/Methods:
Model & Prediction [Expand]
Encapsulates the neural network architecture, including the backbone for feature extraction and specific prediction heads, responsible for generating model outputs.
Related Classes/Methods:
Optimization & Metrics [Expand]
Manages the training dynamics by calculating loss, performing parameter updates (via optimizers and schedulers), and tracking various performance metrics throughout the training and evaluation phases.
Related Classes/Methods:
classy_vision/losses/classy_loss.pyclassy_vision/optim/classy_optimizer.pyclassy_vision/optim/param_scheduler/__init__.pyclassy_vision/meters/classy_meter.py
Training Hooks [Expand]
Provides a flexible callback mechanism to inject custom logic or perform actions at predefined points during the training lifecycle, such as logging, checkpointing, or early stopping.
Related Classes/Methods: