CLI Examples¶
Train AutoTimm models from the command line using YAML configuration files.
Overview¶
The AutoTimm CLI is built on LightningCLI and supports fit, validate, test, and predict subcommands.
Classification¶
Config: examples/cli/classification.yaml
model:
class_path: autotimm.ImageClassifier
init_args:
backbone: resnet18
num_classes: 10
data:
class_path: autotimm.ImageDataModule
init_args:
dataset_name: CIFAR10
data_dir: ./data
batch_size: 32
image_size: 224
num_workers: 4
trainer:
max_epochs: 10
accelerator: auto
devices: auto
precision: 32
enable_checkpointing: false
logger: false
tuner_config: false
# Train
autotimm fit --config examples/cli/classification.yaml
# Quick smoke test
autotimm fit --config examples/cli/classification.yaml --trainer.fast_dev_run true
# Override learning rate
autotimm fit --config examples/cli/classification.yaml --model.init_args.lr 0.001
Object Detection¶
Config: examples/cli/detection.yaml
model:
class_path: autotimm.ObjectDetector
init_args:
backbone: resnet50
num_classes: 80
detection_arch: fcos
fpn_channels: 256
lr: 0.01
data:
class_path: autotimm.DetectionDataModule
init_args:
data_dir: ./coco
image_size: 640
batch_size: 8
num_workers: 4
trainer:
max_epochs: 50
accelerator: auto
devices: auto
precision: 32
enable_checkpointing: false
logger: false
tuner_config: false
Semantic Segmentation¶
Config: examples/cli/segmentation.yaml
model:
class_path: autotimm.SemanticSegmentor
init_args:
backbone: resnet50
num_classes: 19
head_type: deeplabv3plus
lr: 0.01
data:
class_path: autotimm.SegmentationDataModule
init_args:
data_dir: ./cityscapes
format: cityscapes
image_size: 512
batch_size: 4
num_workers: 4
trainer:
max_epochs: 100
accelerator: auto
devices: auto
precision: 32
enable_checkpointing: false
logger: false
tuner_config: false
Common Patterns¶
Override Any Parameter¶
# Change backbone and learning rate
autotimm fit --config examples/cli/classification.yaml \
--model.init_args.backbone efficientnet_b0 \
--model.init_args.lr 0.0005
# Change trainer settings
autotimm fit --config examples/cli/classification.yaml \
--trainer.max_epochs 50 \
--trainer.precision "bf16-mixed"
Validate and Test¶
autotimm validate --config config.yaml --ckpt_path path/to/checkpoint.ckpt
autotimm test --config config.yaml --ckpt_path path/to/checkpoint.ckpt
Print Resolved Config¶
Use HuggingFace Hub Backbones¶
model:
class_path: autotimm.ImageClassifier
init_args:
backbone: "hf-hub:timm/convnext_base.fb_in22k_ft_in1k"
num_classes: 100
See also: CLI User Guide | CLI API Reference