slurm: base weights via LFS, and the cluster run 2026-09-29_v2-noflip-mask1 spelled out
CI / ledger-and-tools (push) Successful in 17s

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
GotthardGandClaude Fable 5.1 committed 2026-09-29 17:58:28 +02:00
1 parent 3d39d40560
commit acaf09483e
2 files changed
+34 -1

No files matched your search

+33
View File
@@ -26,3 +26,36 @@ git commit -am "run <id>: exported" && git push
sbatch slurm/train.sbatch <id>
python tools/ledger.py show
```
## The run that is waiting for the cluster
`2026-09-29_v2-noflip-mask1` — dataset `dataset/2026-09-29_v2` (the whole reviewed pool as of
2026-09-29, gold grown to 200 frames), default recipe: no horizontal flip, full-resolution
masks, base weights `models/base/yolo26n-seg.pt` (in the repository under LFS). Its twin with
the older settings A trains on the Spark for the comparison.
Once, on the login node (fill the placeholders in `train.sbatch` first):
```bash
cd <shared filesystem>
git clone git@gitea.psi.ch:mx/AareLC_train.git # or https, with a token
cd AareLC_train
git lfs install
git lfs pull -I "data/pool/images/**,data/gold/**,models/base/**"
python -m venv .venv && . .venv/bin/activate && pip install ultralytics opencv-python-headless numpy
```
Then, for this run and every later one:
```bash
sbatch slurm/train.sbatch 2026-09-29_v2-noflip-mask1
squeue -u $USER # the job
tail -f runs/2026-09-29_v2-noflip-mask1/train.log # the training
python tools/ledger.py show # the state
```
The job trains, measures the weights on the gold set, gates against the active model and
promotes on a pass (`models/active/production.json`); it commits the run directory and the
registry entry locally. Pushing needs a key on the cluster that Gitea accepts: until then,
`git push origin main` from the login node by hand, or the commit stays there for someone
to push.
+1 -1
View File
@@ -28,7 +28,7 @@ git fetch -q --tags
git pull -q --ff-only
DATASET_TAG="$(python -c "import json;print(json.load(open('runs/$RUN_ID/run.json'))['dataset'])")"
git checkout -q "$DATASET_TAG" -- data/datasets # the dataset exactly as tagged
git lfs pull -q -I "data/pool/images/**,data/gold/**" # only the labelled pool and the gold set
git lfs pull -q -I "data/pool/images/**,data/gold/**,models/base/**" # the labelled pool, the gold set, the base weights
python tools/ledger.py set "$RUN_ID" queued --kv "job=$SLURM_JOB_ID" "host=$(hostname)" "partition=$SLURM_JOB_PARTITION"
$APPTAINER python tools/train_run.py "$RUN_ID" --device 0 --workers "$SLURM_CPUS_PER_TASK" 2>&1 | tee "runs/$RUN_ID/train.log"