AutoTimm - Automated Deep Learning for Computer Vision
Automated Deep Learning for Computer Vision
Powered by timm and PyTorch Lightning
Train state-of-the-art vision models with 1000+ backbones in just a few lines of Python
Key Features¶
4 Vision Tasks
Image classification, object detection, semantic segmentation, and instance segmentation
Image classification, object detection, semantic segmentation, and instance segmentation
1000+ Backbones
Any timm model: CNNs (ResNet, EfficientNet, ConvNeXt) and Transformers (ViT, Swin, DeiT)
Any timm model: CNNs (ResNet, EfficientNet, ConvNeXt) and Transformers (ViT, Swin, DeiT)
Flexible Architectures
Built-in FCOS detector, DeepLabV3+ segmentation, Mask R-CNN style instance segmentation
Built-in FCOS detector, DeepLabV3+ segmentation, Mask R-CNN style instance segmentation
Advanced Losses
Focal, Dice, Tversky, Combined CE+Dice, GIoU for bbox regression
Focal, Dice, Tversky, Combined CE+Dice, GIoU for bbox regression
Configurable Metrics
Use torchmetrics or custom metrics with full control
Use torchmetrics or custom metrics with full control
Multiple Loggers
TensorBoard, MLflow, W&B, CSV - use them all simultaneously
TensorBoard, MLflow, W&B, CSV - use them all simultaneously
Auto-Tuning
Automatic learning rate and batch size finding
Automatic learning rate and batch size finding
Enhanced Logging
Track learning rate, gradient norms, confusion matrices and more
Track learning rate, gradient norms, confusion matrices and more
Flexible Transforms
Torchvision (PIL) or albumentations (OpenCV) with bbox and mask support
Torchvision (PIL) or albumentations (OpenCV) with bbox and mask support
Quick Example¶
import autotimm as at # recommended alias
from autotimm import (
AutoTrainer, ImageClassifier, ImageDataModule,
LoggerConfig, MetricConfig,
)
# Data
data = ImageDataModule(
data_dir="./data",
dataset_name="CIFAR10",
image_size=224,
batch_size=64,
)
# Metrics (explicit configuration required)
metrics = [
MetricConfig(
name="accuracy",
backend="torchmetrics",
metric_class="Accuracy",
params={"task": "multiclass"},
stages=["train", "val", "test"],
prog_bar=True,
),
]
# Model
model = ImageClassifier(
backbone="resnet18",
num_classes=10,
metrics=metrics,
lr=1e-3,
)
# Trainer with logging
trainer = AutoTrainer(
max_epochs=10,
logger=[LoggerConfig(backend="tensorboard", params={"save_dir": "logs"})],
checkpoint_monitor="val/accuracy",
)
trainer.fit(model, datamodule=data)
trainer.test(model, datamodule=data)
That's it! Train production-ready models in ~20 lines of code
Why Choose AutoTimm?¶
| Feature | AutoTimm | Raw PyTorch | Lightning |
|---|---|---|---|
| 1000+ backbones | Yes | Manual | Manual |
| Configurable metrics | Yes | Manual | Manual |
| Multi-logger support | Yes | Manual | Partial |
| Auto LR/batch finding | Yes | No | Yes |
| Lines of code | ~20 | ~200+ | ~100 |