Skip to content

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

1

Install

pip install autotimm
Installation Guide →
2

Quick Start

Train your first model in minutes

Quick Start Guide →
3

Explore

Browse examples and dive deeper

View Examples →

Key Features

4 Vision Tasks
Image classification, object detection, semantic segmentation, and instance segmentation
1000+ Backbones
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
Advanced Losses
Focal, Dice, Tversky, Combined CE+Dice, GIoU for bbox regression
Configurable Metrics
Use torchmetrics or custom metrics with full control
Multiple Loggers
TensorBoard, MLflow, W&B, CSV - use them all simultaneously
Auto-Tuning
Automatic learning rate and batch size finding
Enhanced Logging
Track learning rate, gradient norms, confusion matrices and more
Flexible Transforms
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