Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@ homepage = "https://github.com/huggingface/pytorch-image-models"
documentation = "https://huggingface.co/docs/timm/en/index"
repository = "https://github.com/huggingface/pytorch-image-models"

[project.scripts]
timm-train-cls = "timm.apps.train_cls:main"
timm-train-ssl = "timm.apps.train_ssl:main"
timm-sweep = "timm.apps.sweep:main"

[tool.pdm.dev-dependencies]
test = [
'pytest',
Expand Down
34 changes: 34 additions & 0 deletions timm/apps/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
"""Training and utility applications for timm.

This module contains runnable applications for training, evaluation, and utilities.
Each app can be run as a module or via installed console scripts.

Available apps:
- train_cls: Classification training (includes distillation)
- train_ssl: Self-supervised learning training (NEPA, LeJEPA)
- sweep: Hyperparameter sweep runner

Example usage::

# As a module
python -m timm.apps.train_cls --model.model resnet50 --data.data_dir /path/to/data
python -m timm.apps.train_ssl --model.model vit_tiny_patch16_224 --ssl.ssl_method nepa ...
python -m timm.apps.sweep sweeps/config.yaml

# As installed console scripts (after pip install)
timm-train-cls --model.model resnet50 --data.data_dir /path/to/data
timm-train-ssl --model.model vit_tiny_patch16_224 --ssl.ssl_method nepa ...
timm-sweep sweeps/config.yaml

# Programmatic usage
from timm.apps.train_cls import train_cls
from timm.apps.train_ssl import train_ssl
from timm.apps.sweep import run_sweep
from timm.engine import TrainConfig, ModelConfig, DataConfig

cfg = TrainConfig(
model=ModelConfig(model='resnet50'),
data=DataConfig(data_dir='/path/to/data'),
)
train_cls(cfg)
"""
Loading
Loading