From babe197cb2fec49ee256b91c9728e36caff58df6 Mon Sep 17 00:00:00 2001 From: GotthardG <51994228+GotthardG@users.noreply.github.com> Date: Tue, 29 Sep 2026 11:13:00 +0200 Subject: [PATCH] recipe: no horizontal flip and full-resolution masks by default (winner of the 2026-09-28/29 comparison) Co-Authored-By: Claude Fable 5.1 --- README.md | 2 +- tools/train_run.py | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ea53b8e..bfd07b6 100644 --- a/README.md +++ b/README.md @@ -297,7 +297,7 @@ python tools/ledger.py show # the table; `render` writes runs/README. sbatch slurm/train.sbatch 2026-10-02_alc ``` -`tools/train_run.py` trains with the recipe from `src/training/train_yolo_seg.py`, +`tools/train_run.py` trains with the recipe from `src/training/train_yolo_seg.py` (since 2026-09-29 with no horizontal flip and full-resolution masks, the settings that won the comparison on unseen gold frames; any setting can be overridden with `--set KEY=VALUE`), copies `best.pt` to `models/registry/-seg--/weights.pt` (LFS) with `metadata.json`, measures the weights on `data/gold/` with the studio's evaluation code (`src/eval/`, vendored), and gates against the active model's diff --git a/tools/train_run.py b/tools/train_run.py index 46b3070..deb5859 100644 --- a/tools/train_run.py +++ b/tools/train_run.py @@ -31,8 +31,11 @@ sys.path.insert(0, str(ROOT)) from tools import ledger # noqa: E402 -AUGMENT = dict(scale=0.7, translate=0.15, mosaic=0.5, close_mosaic=10, fliplr=0.5, flipud=0.3, - shear=5.0, perspective=0.0) +# Recipe since 2026-09-29: no horizontal flip (the camera never shows the pin on the left) and +# full-resolution masks (mask_ratio 1), the combination that kept run A's detection with the +# tightest masks; before that fliplr=0.5 and mask_ratio=4, as in the legacy train_yolo_seg.py. +AUGMENT = dict(scale=0.7, translate=0.15, mosaic=0.5, close_mosaic=10, fliplr=0.0, flipud=0.3, + shear=5.0, perspective=0.0, mask_ratio=1) GATE_TOL = 0.005 CLASS_TOL = 0.02 GUARDED_CLASSES = ("loop_all", "pin")