altametris.sara.yolo.trainer¶
YOLO trainer implementation.
Provides training interface for YOLO models using Ultralytics backend with Altametris standardized callbacks and configuration.
Example
>>> model = YoloModel(version="11", task="detect", size="x")
>>> trainer = YoloTrainer(model=model, device="cuda")
>>> results = trainer.train(dataset_config="coco128.yaml", epochs=100)
Attributes¶
Classes¶
YOLO trainer implementing BaseTrainer interface. |
Module Contents¶
- altametris.sara.yolo.trainer.logger¶
- class altametris.sara.yolo.trainer.YoloTrainer(model: altametris.sara.yolo.model.YoloModel, device: str = 'auto', callbacks: list[altametris.sara.core.base_callback.BaseCallback] | None = None)¶
Bases:
altametris.sara.core.base_trainer.BaseTrainerYOLO trainer implementing BaseTrainer interface.
Wraps Ultralytics training with Altametris callback system and standardized configuration.
- Parameters:
model – YOLO model to train
device – Training device
callbacks – Training callbacks
Example
>>> model = YoloModel(version="11", task="detect", size="n") >>> trainer = YoloTrainer(model=model, device="cuda") >>> results = trainer.train( ... dataset_config="data.yaml", ... epochs=100, ... batch_size=16, ... imgsz=640 ... )
- load_config(config_path: str | pathlib.Path) Dict[str, Any]¶
Load and parse YAML configuration file.
Supports both dataset configuration files (data.yaml) and training parameter files (train-params.yaml).
- Parameters:
config_path – Path to YAML configuration file
- Returns:
Dictionary containing parsed configuration
- Raises:
TrainingError – If config file not found or invalid YAML
Example
>>> # Load dataset config >>> dataset_config = trainer.load_config("data/detect/config.yml") >>> print(dataset_config['names']) {0: 'Chassis A', 1: 'Chassis C', ...}
>>> # Load training params >>> train_params = trainer.load_config("data/detect/train-parameter-detect.yaml") >>> epochs = train_params['train']['epochs']
- train(dataset_config: str | pathlib.Path | Dict[str, Any], epochs: int = 100, batch_size: int = 16, imgsz: int = 640, save_dir: str | pathlib.Path | None = None, **kwargs: Any) dict[str, Any]¶
Train YOLO model.
- Parameters:
dataset_config – Path to dataset YAML configuration or dict
epochs – Number of training epochs
batch_size – Batch size
imgsz – Input image size
save_dir – Directory to save results
**kwargs – Additional Ultralytics training arguments
- Returns:
Training results dictionary
- Raises:
TrainingError – If training fails
Example
>>> # Using YAML path >>> results = trainer.train( ... dataset_config="data.yaml", ... epochs=10, ... batch_size=8, ... imgsz=640 ... )
>>> # Using dict config >>> config = trainer.load_config("train-params.yaml") >>> results = trainer.train( ... dataset_config="data.yaml", ... epochs=config['train']['epochs'], ... batch_size=config['train']['batch_size'] ... )
- validate(dataset_config: str | pathlib.Path, **kwargs: Any) dict[str, Any]¶
Validate YOLO model.
- Parameters:
dataset_config – Path to validation dataset config
**kwargs – Additional validation arguments
- Returns:
Validation metrics
- Raises:
TrainingError – If validation fails
Example
>>> metrics = trainer.validate(dataset_config="val.yaml")
- resume_training(checkpoint_path: str | pathlib.Path, **kwargs: Any) dict[str, Any]¶
Resume training from checkpoint.
- Parameters:
checkpoint_path – Path to checkpoint file
**kwargs – Additional training arguments
- Returns:
Training results
Example
>>> results = trainer.resume_training("runs/train/exp/weights/last.pt")