graph LR
classy_vision_losses_ClassyLoss["classy_vision.losses.ClassyLoss"]
classy_vision_optim_ClassyOptimizer["classy_vision.optim.ClassyOptimizer"]
classy_vision_optim_param_scheduler_ParamScheduler["classy_vision.optim.param_scheduler.ParamScheduler"]
classy_vision_meters_ClassyMeter["classy_vision.meters.ClassyMeter"]
classy_vision_tasks_classification_task_ClassificationTask["classy_vision.tasks.classification_task.ClassificationTask"]
classy_vision_tasks_classification_task_ClassificationTask -- "uses" --> classy_vision_losses_ClassyLoss
classy_vision_tasks_classification_task_ClassificationTask -- "uses" --> classy_vision_optim_ClassyOptimizer
classy_vision_tasks_classification_task_ClassificationTask -- "manages" --> classy_vision_optim_param_scheduler_ParamScheduler
classy_vision_tasks_classification_task_ClassificationTask -- "uses" --> classy_vision_meters_ClassyMeter
classy_vision_optim_ClassyOptimizer -- "consults" --> classy_vision_optim_param_scheduler_ParamScheduler
The ClassyVision training and evaluation subsystem is centered around the ClassificationTask, which acts as the primary orchestrator. It leverages a set of abstract components to perform its functions: ClassyLoss for loss computation, ClassyOptimizer for parameter updates, ParamScheduler for dynamic adjustment of optimizer parameters, and ClassyMeter for performance monitoring. This modular design allows for flexible integration of various algorithms and strategies, with the ClassificationTask coordinating their interactions to execute the training and evaluation pipeline efficiently.
Defines the interface and common methods for all loss functions. Its concrete subclasses (e.g., BarronLoss, LabelSmoothingLoss) implement specific algorithms to quantify the discrepancy between model predictions and true labels.
Related Classes/Methods:
Abstract base for optimizers. Its concrete subclasses (e.g., RMSprop) implement algorithms (e.g., SGD, Adam) to adjust model parameters based on the gradients computed from the loss. It manages parameter groups and applies updates.
Related Classes/Methods:
Abstract base for parameter schedulers. Its concrete subclasses define strategies for dynamically adjusting optimizer parameters (e.g., learning rate, momentum) over time, typically across epochs or iterations.
Related Classes/Methods:
Abstract base for performance metrics. Its concrete subclasses (e.g., AccuracyMeter, PrecisionMeter) track, aggregate, and compute various performance statistics (e.g., accuracy, precision, recall) during training and evaluation.
Related Classes/Methods:
Acts as the central orchestrator for the training and evaluation phases. It is responsible for configuring, initializing, and coordinating the use of ClassyLoss, ClassyOptimizer, ParamScheduler, and ClassyMeter instances based on the overall experiment configuration. It drives the execution flow, including forward pass, loss calculation, backward pass, parameter updates, and metric aggregation.
Related Classes/Methods: