API Reference
This section provides detailed API documentation for all AutoTimm classes and functions.
API Organization
graph LR
A[<b>AutoTimm API</b>] --> B[<b>Models</b>]
A --> C[<b>Data</b>]
A --> D[<b>Training</b>]
A --> E[<b>Config</b>]
B --> B1[ImageClassifier]
B --> B2[ObjectDetector]
B --> B3[SemanticSegmentor]
B --> B4[InstanceSegmentor]
B --> B5[YOLOXDetector]
C --> C1[ImageDataModule]
C --> C2[DetectionDataModule]
C --> C3[SegmentationDataModule]
C --> C4[InstanceSegDataModule]
C --> C5[MultiLabelDataModule]
D --> D1[AutoTrainer]
D --> D2[Callbacks]
D --> D3[TunerConfig]
E --> E1[TransformConfig]
E --> E2[MetricConfig]
E --> E3[LoggerConfig]
style A fill:#1565C0,stroke:#0D47A1
style B fill:#1976D2,stroke:#1565C0
style C fill:#1565C0,stroke:#0D47A1
style D fill:#1976D2,stroke:#1565C0
style E fill:#1565C0,stroke:#0D47A1
style B1 fill:#1976D2,stroke:#1565C0
style B2 fill:#1976D2,stroke:#1565C0
style B3 fill:#1976D2,stroke:#1565C0
style B4 fill:#1976D2,stroke:#1565C0
style B5 fill:#1976D2,stroke:#1565C0
style C1 fill:#1976D2,stroke:#1565C0
style C2 fill:#1976D2,stroke:#1565C0
style C3 fill:#1976D2,stroke:#1565C0
style C4 fill:#1976D2,stroke:#1565C0
style C5 fill:#1976D2,stroke:#1565C0
style D1 fill:#1976D2,stroke:#1565C0
style D2 fill:#1976D2,stroke:#1565C0
style D3 fill:#1976D2,stroke:#1565C0
style E1 fill:#1976D2,stroke:#1565C0
style E2 fill:#1976D2,stroke:#1565C0
style E3 fill:#1976D2,stroke:#1565C0
Core Classes
Task Models
Data Modules
CSV Datasets
For direct CSV dataset usage without DataModules, see CSV Data Loading API:
Training
| Class |
Description |
| AutoTrainer |
Configured PyTorch Lightning Trainer |
Configuration Classes
Manager Classes API
MetricManager and LoggerManager share a consistent interface:
| Method |
MetricManager |
LoggerManager |
len(manager) |
Number of configs |
Number of loggers |
iter(manager) |
Iterate over configs |
Iterate over loggers |
manager[i] |
Get config by index |
Get logger by index |
manager.configs |
List of MetricConfig |
List of LoggerConfig |
| Get by name |
get_metric_by_name(name) |
get_logger_by_backend(name) |
| Get config |
get_config_by_name(name) |
- |
Heads
| Head |
Description |
| ClassificationHead |
Simple classification head with dropout |
| DetectionHead |
FCOS-style detection head (cls, bbox, centerness) |
| DeepLabV3PlusHead |
DeepLabV3+ head with ASPP and decoder |
| FCNHead |
Fully Convolutional Network head |
| MaskHead |
Mask prediction head for instance segmentation |
| FPN |
Feature Pyramid Network for multi-scale features |
| ASPP |
Atrous Spatial Pyramid Pooling module |
Loss Functions
Detection Losses
| Loss |
Description |
| FocalLoss |
Focal loss for addressing class imbalance |
| GIoULoss |
Generalized IoU loss for bounding box regression |
| CenternessLoss |
Binary cross-entropy for centerness prediction |
| FCOSLoss |
Combined FCOS detection loss |
Segmentation Losses
Logging
| Symbol |
Description |
| logger |
Shared loguru logger instance for the entire library |
| log_table |
Log a formatted ASCII table via loguru |
Utility Functions
Quick Links
Image Classification
from autotimm import (
AutoTrainer,
ImageClassifier,
ImageDataModule,
MetricConfig,
MetricManager,
TransformConfig, # For preprocessing
)
Object Detection
from autotimm import (
AutoTrainer,
ObjectDetector,
DetectionDataModule,
FeatureBackboneConfig,
MetricConfig,
)
Semantic Segmentation
from autotimm import (
AutoTrainer,
SemanticSegmentor,
SegmentationDataModule,
MetricConfig,
)
# Using import aliases
from autotimm.task import SemanticSegmentor
from autotimm.loss import DiceLoss, CombinedSegmentationLoss
from autotimm.head import DeepLabV3PlusHead, FCNHead
Instance Segmentation
from autotimm import (
AutoTrainer,
InstanceSegmentor,
InstanceSegmentationDataModule,
MetricConfig,
)
# Using import aliases
from autotimm.task import InstanceSegmentor
from autotimm.loss import MaskLoss
from autotimm.head import MaskHead
With Logging
from autotimm import (
LoggerConfig,
LoggerManager,
LoggingConfig,
)
With Auto-Tuning
from autotimm import TunerConfig
Backbone Utilities
from autotimm import (
BackboneConfig,
FeatureBackboneConfig,
create_backbone,
create_feature_backbone,
get_feature_channels,
get_feature_info,
get_feature_strides,
list_backbones,
)
Logging
from autotimm import logger
from autotimm.core.logging import logger, log_table
Utilities
from autotimm import (
count_parameters,
list_optimizers,
list_schedulers,
)
Module Structure
autotimm/
├── __init__.py # Public API exports
├── backbone.py # BackboneConfig, FeatureBackboneConfig, create_backbone,
│ # create_feature_backbone, get_feature_*, list_backbones
├── data/
│ ├── datamodule.py # ImageDataModule
│ ├── dataset.py # ImageFolderCV2
│ ├── transforms.py # Transform presets
│ ├── transform_config.py # TransformConfig
│ ├── timm_transforms.py # Model-specific transforms
│ ├── detection_datamodule.py # DetectionDataModule
│ ├── detection_dataset.py # DetectionDataset
│ ├── detection_transforms.py # Detection augmentations
│ ├── segmentation_dataset.py # SemanticSegmentationDataset
│ ├── segmentation_datamodule.py # SegmentationDataModule
│ ├── instance_dataset.py # COCOInstanceDataset
│ ├── instance_datamodule.py # InstanceSegmentationDataModule
│ └── segmentation_transforms.py # Segmentation augmentations
├── heads.py # ClassificationHead, DetectionHead, FPN
│ # DeepLabV3PlusHead, FCNHead, MaskHead, ASPP
├── loggers.py # LoggerConfig, LoggerManager
├── losses/
│ ├── detection.py # FocalLoss, GIoULoss, CenternessLoss, FCOSLoss
│ └── segmentation.py # DiceLoss, FocalLossPixelwise, TverskyLoss,
│ # MaskLoss, CombinedSegmentationLoss
├── metrics.py # MetricConfig, MetricManager, LoggingConfig
├── tasks/
│ ├── classification.py # ImageClassifier
│ ├── object_detection.py # ObjectDetector
│ ├── semantic_segmentation.py # SemanticSegmentor
│ ├── instance_segmentation.py # InstanceSegmentor
│ └── preprocessing_mixin.py # PreprocessingMixin
├── logging.py # Central loguru-based logger, log_table
├── trainer.py # AutoTrainer, TunerConfig
└── utils.py # Utility functions