You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Requires [uv](https://docs.astral.sh/uv/) and Python 3.11–3.12.
36
39
37
-
Dependencies are managed through [dependency groups](https://docs.astral.sh/uv/concepts/dependency-groups/) in `pyproject.toml`. The base package only needs `click` and `pyyaml`. ML dependencies are split into groups — one per model plus a shared `core` group — so you only install what you need. Use `uv sync --group <name>` to install a specific group, or `--group all-models` for everything.
40
+
Dependencies are managed through [dependency groups](https://docs.astral.sh/uv/concepts/dependency-groups/) in `pyproject.toml`. The base package only needs `click` and `pyyaml`. ML dependencies are split into groups – one per model plus a shared `core` group – so you only install what you need. Use `uv sync --group <name>` to install a specific group, or `--group all-models` for everything.
uv run dtai package denoise-nind # Create .dtmodel archive
72
75
uv run dtai demo denoise-nind # Run demo on sample images
73
76
77
+
# Generate versions.json
78
+
uv run dtai versions
79
+
74
80
# Evaluate a model
75
81
uv sync --group eval
76
82
uv run dtai eval mask mask-object-segnext-b2hq --limit 5
77
83
```
78
84
85
+
## Versioning
86
+
87
+
Each model has a `version` field in its `model.yaml` that gets written to `config.json`. The `dtai versions` command generates `output/versions.json` – a manifest mapping model IDs to their current versions:
88
+
89
+
```json
90
+
{
91
+
"models": {
92
+
"denoise-nind": "1.0",
93
+
"mask-object-sam21-small": "1.0"
94
+
}
95
+
}
96
+
```
97
+
98
+
This file is published as a GitHub release asset alongside `.dtmodel` packages. darktable fetches it to check for model updates without downloading full packages.
99
+
79
100
## Demos
80
101
81
102
Each model includes a `demo.py` script that runs inference on sample images
82
103
from `samples/<task>/`. Models that require per-image input (e.g. point prompts
83
104
for object segmentation) define `image_args` in their `model.yaml`.
84
105
85
-
Output images are saved to `models/<model>/output/`.
106
+
Output images are saved to `output/<model>-demo/`.
0 commit comments