Changelog
Version 0.3.0 (Upcoming)
New Features:
Added Google-style docstrings to all modules
Enhanced documentation with comprehensive guides
Improved error messages and validation
Bug Fixes:
Fixed assertion logic in
lr_scheduler_utils.pyfor warmup validationFixed gradient clipping synchronization in
AcceleratorTrainer
Improvements:
Better type hints throughout the codebase
Comprehensive test coverage
Improved examples and tutorials
Deprecations:
Learnerclass is now deprecated, useFabricTrainerorAcceleratorTrainer
Version 0.2.0
New Features:
Added
AcceleratorTrainerfor HuggingFace Accelerate supportAdded
FabricTrainerfor Lightning Fabric supportSupport for multi-label image classification
Added experiment tracking (MLflow, wandb)
Learning rate scheduler utilities with warmup
Improvements:
Better distributed training support
Improved checkpoint management
Enhanced visualization tools
Version 0.1.0
Initial Release:
Basic
Learnertrainer implementationImage classification support
Semantic segmentation support
Image regression support
TensorBoard integration
Basic metrics (Accuracy, IoU, Dice)
Custom loss functions (Jaccard, RMSE, Contrastive, Angular)
Migration Guide
Migrating from Learner to FabricTrainer
Old Code
from deepml.trainer import Learner
learner = Learner(
task=task,
optimizer=optimizer,
criterion=criterion,
lr_scheduler=lr_scheduler,
use_amp=True
)
learner.fit(
train_loader=train_loader,
val_loader=val_loader,
epochs=50
)
New Code
from deepml.fabric_trainer import FabricTrainer
# Note: lr_scheduler_fn instead of lr_scheduler
lr_scheduler_fn = lambda opt: CosineAnnealingLR(opt, T_max=50)
trainer = FabricTrainer(
task=task,
optimizer=optimizer,
criterion=criterion,
lr_scheduler_fn=lr_scheduler_fn,
precision='16-mixed' # Instead of use_amp=True
)
trainer.fit(
train_loader=train_loader,
val_loader=val_loader,
epochs=50
)
Key Differences
lr_scheduler: Instance → Factory function
use_amp: Boolean →
precisionparameterDevice management: Manual → Automatic
Distributed training: Manual setup → Automatic
Breaking Changes
Version 0.3.0
None (backward compatible)
Version 0.2.0
Changed import paths for some utilities
Modified Task API signatures
Updated checkpoint format (backward compatible loading)
Future Plans
Version 0.4.0 (Planned)
Remove deprecated
LearnerclassAdd support for object detection tasks
Enhanced callback system
Better gradient accumulation handling
Support for DDP with model sharding
Version 0.5.0 (Planned)
Multi-task learning support
Advanced augmentation strategies
Model ensemble utilities
Automatic hyperparameter tuning integration
Production deployment utilities