agentleFS
open-edge-platformopen-edge-platform/training_extensions/skills/getitune/getitune-training-a-model/SKILL.md

getitune-training-a-model

Skill1.4k starsChanged 17 days agoApache-2.0View on GitHub

Train a computer-vision model with the getitune library (the Geti training library) using its Python API or CLI. Use when a user wants to train, fine-tune, or evaluate a model with `create_engine(...)` and `engine.train()/engine.test()`, run `getitune train`/`getitune test`, pick or override a recipe under `getitune.recipe.TASK`, choose a device (cpu/gpu/xpu/cuda), warm-start from a checkpoint, or debug a training run. Covers classification, detection, instance/semantic segmentation, and keypoint detection.

2 other projects use a version of this.

Adopted by

Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data

Week of Sep 13: 0 new projectsWeek of Sep 20: 0 new projectsWeek of Sep 27: 0 new projectsWeek of Oct 4: 0 new projectsWeek of Oct 11: 0 new projectsWeek of Oct 18: 0 new projectsWeek of Oct 25: 0 new projectsWeek of Nov 1: 0 new projects
Sep 2026Oct 2026Nov 2026
New projects taking a version of this file each week, over the 8 weeks our latest run read: only 0 in all, so this is a hint, not a trend.

Most recently taken up by

Who's talking about open-edge-platform/training_extensions

The biggest 5 of 50 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 50

Talked about on GitHub (50 times).

On GitHub · 50

45 more on GitHub

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run everything from libraries/getitune/.

    line 25
  2. Distinctive:

    Run one epoch on a small dataset first to isolate construction vs.

    line 96

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Training a model with getitune

getitune is a low-code transfer-learning library. Training is driven by an Engine created with create_engine(...), which pairs a model/recipe with a dataset and returns a runnable engine. Recipes (YAML under libraries/getitune/src/getitune/recipe/<task>/) bundle model + data pipeline + training config, so a model name alone gives a strong baseline.

There are two equal entry points that share the same objects and recipes:

  • Python API — from getitune.engine import create_engine, then engine.train() / engine.test(). Preferred for notebooks, scripts, tests, and library integration. See libraries/getitune/README.md ("Quick Start") and the getitune documentation.
  • CLI — getitune train --data_root <path> --model <name|recipe.yaml>. Preferred for reproducible experiments and shell workflows. See getitune train --help and the getitune documentation.

Run everything from libraries/getitune/. Install with the extra that matches your hardware: uv sync (cpu), uv sync --extra xpu, or uv sync --extra cuda.

Python API workflow

from getitune.engine import create_engine

engine = create_engine(
    model="efficientnet_b0",          # model name, recipe .yaml path, or model class
    data="/path/to/dataset_root",     # dataset root (COCO/YOLO/VOC/native), auto-detected
    work_dir="./my_workspace",        # checkpoints + logs; defaults to ./getitune-workspace
    device="auto",                    # "auto", "cpu", "gpu", "xpu", "cuda", "0", ...
)
engine.train(max_epochs=50)
engine.test()
  1. Pick the model/recipe. Pass a model name ("efficientnet_b0"), a recipe path ("src/getitune/recipe/detection/yolox_s.yaml"), or a model class. If a name matches recipes under several tasks, pass task= (e.g. task="DETECTION") to disambiguate. Use the getitune-discovering-models skill to list options.
    • Done when: create_engine(...) returns without a ValueError/FileNotFoundError.
  2. Point data= at the dataset root. Format is auto-detected by Datumaro; see the getitune-preparing-datasets skill.
    • Done when: the engine builds a datamodule without a format/feature error.
  3. Smoke-test the wiring first with a tiny run (engine.train(max_epochs=1) or a small subset) before a long run.
    • Done when: one train + one validation pass complete without shape errors.
  4. Train, overriding hyperparameters as needed (engine.train(max_epochs=50)).
    • Done when: checkpoints appear under work_dir.
  5. Evaluate with engine.test() and confirm the task metric moves, not just loss. Record the model + work_dir that produced it.

Warm-start from existing weights with create_engine(..., checkpoint="/path/to/weights.pt").

CLI workflow

# from libraries/getitune/
# 1. Simplest: data only — getitune picks a default model for the task
getitune train --data_root /path/to/dataset

# 2. Choose a model or recipe
getitune train --data_root /path/to/dataset --model yolox_s

# 3. Override hyperparameters
getitune train --data_root /path/to/dataset --model yolox_s \
  --max_epochs 200 --checkpoint /path/to/weights.pt

# 4. Run a full, resolved config file
getitune train --data_root /path/to/dataset --config src/getitune/recipe/detection/yolox_s.yaml

getitune test and getitune predict share the same --model / --data_root shape. Use getitune <cmd> --help -v (and -vv) for the full overridable argument list.

Choosing a device

  • device="auto" selects an available accelerator; force with "cpu", "gpu", "xpu", "cuda", or an index like "0".
  • The device must match the installed extra — --extra xpu for Intel GPUs, --extra cuda for NVIDIA. Guard nothing yourself; the library handles capability checks.

Debugging a run

  • Run one epoch on a small dataset first to isolate construction vs. dataloading vs. training failures.
  • Shape/feature mismatches usually mean the dataset's labels or task disagree with the model — recheck task= and the dataset format (getitune-preparing-datasets).
  • Dataset auto-detection failures: confirm the folder matches one supported layout (COCO/YOLO/VOC/native).

Verify

# from libraries/getitune/
just lint
just test-unit -- -k engine        # when you changed engine/training code

For API-facing work, add or run a short Python smoke test that calls create_engine(...) + engine.train(max_epochs=1) on a tiny fixture rather than a long real run.

Related skills

  • getitune-discovering-models — list models/recipes and disambiguate by task.
  • getitune-preparing-datasets — the data= half of the engine.
  • getitune-exporting-a-model — export a trained checkpoint to OpenVINO/ONNX.
  • getitune-running-inference — run predictions with a trained or exported model.
  • geti-library-dev — when the libraries/getitune/model code itself needs changes.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.