docs(wiki): trainer as a compose profile — one running service is expected, first-run pull/login, why the collector TAG bump mattered, park-2 needs no bump until a pin
Claude-Session: https://claude.ai/code/session_01FWncR69HgGPuei1dLrW3cU
This commit is contained in:
@@ -152,6 +152,25 @@ the image, bump the booth's `TAG`. The trainer is never started by a deploy (a p
|
||||
`wash-collector` stack's `TRAINER_OUT` / `TRAINER_PUBLISH_TOKEN` lines stay commented until the
|
||||
first publish.
|
||||
|
||||
## Operating notes (first deploy, 2026-09-07)
|
||||
|
||||
- **Only the collector shows as running — that is correct.** The trainer is not a service; it is
|
||||
behind the `train` compose *profile*, so a deploy never starts it and `docker ps` on
|
||||
`art-docker-station` lists one container. The trainer runs when invoked by hand, does its job,
|
||||
exits, and leaves nothing behind (`--rm`).
|
||||
- **A deploy does not pull profile services either.** The first `run` pulls the image itself, so
|
||||
the host's Docker must be logged in to the registry (`docker compose -f
|
||||
docker-compose.collector.yml --profile train pull trainer` is the check; if refused, `docker
|
||||
login git.infra.msai.al` on the host first).
|
||||
- **Why the wash-collector TAG bump mattered** although the collector code did not change: the
|
||||
trainer service uses the stack's TAG, so a bump makes `run` resolve to an image that exists
|
||||
(`stage-f7a262a` is the first tag that carries `parking-trainer`).
|
||||
- **park-2 does not need the bump** until a model is pinned: the new vision image ships with an
|
||||
empty `bodytype.version`, phase B off, nothing for a booth to gain.
|
||||
- **What to run, from the stack's directory on the host:** `inspect` first (label counts per
|
||||
class, `ready: false` until enough are reviewed), then `train`, read `report.md` under
|
||||
`TRAINER_OUT/<version>/`, then `publish`, pin, push, bump the booth. Commands under §Running it.
|
||||
|
||||
## Packaging rule (same as the vision service)
|
||||
|
||||
Core deps are light (numpy, opencv-headless, onnxruntime): `inspect`, `evaluate`, the data and
|
||||
|
||||
@@ -160,7 +160,9 @@ Same repo, branch and pinned `TAG` promotion, its own secret references, and —
|
||||
names its compose files — nothing booth-side lands on that host and nothing of it on a booth.
|
||||
The same stack carries the phase-B **trainer** as a compose *profile* (`train`,
|
||||
[[bodytype-classifier-training]]): a deploy never starts it; the owner runs it by hand on the host
|
||||
with `docker compose … --profile train run --rm trainer …`. Its two env lines (`TRAINER_OUT`, the
|
||||
with `docker compose … --profile train run --rm trainer …`. So after a deploy of that stack
|
||||
`docker ps` shows one container — expected; and a deploy pulls nothing for the profile, the
|
||||
first `run` does (host Docker must be logged in to the registry). Its two env lines (`TRAINER_OUT`, the
|
||||
`TRAINER_PUBLISH_TOKEN` secret reference) stay commented in `resources.toml` until the first
|
||||
publish.
|
||||
|
||||
|
||||
@@ -3144,6 +3144,13 @@ run; the Quadro FX 3800 is unusable (cc 1.3), the HD P530 irrelevant, the Xeon E
|
||||
compose seam drops the GPU reservation; cloud GPU rejected (crops stay on premises). Linked from
|
||||
[[opencv-anpr-service]], [[vision-review-outbox]], index. User: "No build just yet."
|
||||
|
||||
## [2026-09-07] ingest | Trainer deployed as a profile; operating notes
|
||||
User pushed `stage-f7a262a`, bumped the `wash-collector` TAG, redeployed, and asked why only one
|
||||
service runs on art-docker-station. Expected: the trainer is a compose profile, never started or
|
||||
pulled by a deploy; run by hand, exits. Recorded on [[bodytype-classifier-training]] §Operating
|
||||
notes (why the TAG bump still mattered, park-2 needs no bump until a pin, the registry login for
|
||||
the first pull, the order of commands) and [[fleet-deployment-komodo]].
|
||||
|
||||
## [2026-09-07] build | Phase B trainer + the classifier stage on the booth
|
||||
User: "Shall we go and build the trainer for the Xeon?" Built `apps/trainer` (`parking-trainer`:
|
||||
`inspect` / `train` / `evaluate` / `publish`; reads the collector volume read-only, time split,
|
||||
|
||||
Reference in New Issue
Block a user