Commit Graph
61 Commits
Author SHA1 Message Date
jungfrau f37604f87a run 2026-10-01_v4-noflip-mask1: promoted; comparison updated
CI / ledger-and-tools (push) Successful in 19s
2026-10-02 13:25:46 +02:00
jungfrauandClaude Fable 5.1 95e6ccad86 ledger: 2026-09-29_v3-noflip-mask1 deployed at the beamlines
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-02 13:25:45 +02:00
GotthardGandClaude Fable 5.1 d0cc67cb7e compare_unseen: per-frame counts for head-to-head comparisons of any two models
Written to runs/_unseen_per_frame.json (not tracked): overall and crystal
tp/fp/fn and matched IoU per unseen gold frame and model, which lets the
monitor page bootstrap the difference between any pair.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-02 13:25:45 +02:00
GotthardGandClaude Fable 5.1 62f568b0f6 gate: baseline and candidate measured in the same environment
The cluster's first run was gated against a baseline measured on the Spark.
The same weights score lower there (F1 0.840 vs 0.861, mask score 0.706 vs
0.757 on the 203 gold frames), so the gate failed a model that beats the
active one on F1 in 98.7 % of bootstrap draws when both are measured on one
machine.

Gold reports now record the environment (ultralytics, torch, host). When the
active model's report comes from other versions, train_run.py measures its
weights again in the job and gates against that; the predictions feed the
paired bootstrap. Without the weights there is no verdict and no promotion.
The SLURM scripts pull the active model's weights.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-02 13:25:45 +02:00
GotthardGandClaude Fable 5.1 831367d35d noise-aware gate, frozen core of unseen frames, and a cycle script for the Spark
A paired bootstrap over the 149 unseen gold frames (2026-10-02) showed that a
difference between two models carries about +-0.023 of noise in F1, +-0.018 in
the mask score and +-0.10 in crystal F1, while the gate's tolerance was 0.005.

- tools/gate_stats.py: per-frame counts and a paired bootstrap (pure Python).
- train_run.py: when the baseline's gold predictions exist, the gate requires
  the candidate to beat it on F1 or the mask score in 90 % of the draws and
  not to lose the other in more than 90 %; the point rule is the fallback and
  is always reported (pass_point_rule).
- tools/compare_unseen.py replaces the Spark's ~/fair_gate_all.py: all models
  on the frames none trained on, on the frozen core (data/gold/unseen_core.json,
  149 frames) and on all unseen frames once the gold set grows, with the
  interval and win share against the active model.
- measure_weights.py keeps a version's gate verdict when it re-measures it.
- tools/spark_cycle.sh: gold growth, export, re-measure, train, gate, compare,
  push, with what cycles 3 and 4 taught built in.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-02 13:25:45 +02:00
jungfrauandClaude Fable 5.1 591f7b0b31 train_run: a run that already has a gate verdict is not trained again without --force
The exit code 2 of a failed gate made the cycle script retry and train
2026-10-01_v4-recipeA twice.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-02 13:25:45 +02:00
jungfrau a67e6b8e8e run 2026-10-01_v4-recipeA: gate_failed; comparison updated 2026-10-02 13:25:45 +02:00
jungfrau ae889d1255 runs 2026-10-01_v4-recipeA and 2026-10-01_v4-noflip-mask1: exported on dataset/2026-10-01_v4 2026-10-02 13:25:45 +02:00
jungfrau 7688cfa713 dataset: 2026-10-01_v4 (1610 train / 285 val, 493 new pool images) 2026-10-02 13:25:44 +02:00
Duan a9192406d3 yolo26s-seg-v3-s-640px-2026-10-01
CI / ledger-and-tools (push) Successful in 22s
2026-10-02 10:47:39 +02:00
jungfrauandClaude Fable 5.1 28cbfa889d measure dir for yolo26n-seg-v3-noflip-mask1-2026-09-30; unseen-frame comparison includes the promoted v3 model
CI / ledger-and-tools (push) Successful in 25s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
v1.3.0
2026-09-30 13:56:58 +02:00
jungfrau 2956303ffe run 2026-09-29_v3-noflip-mask1: promoted; comparison updated
CI / ledger-and-tools (push) Successful in 21s
2026-09-30 13:56:07 +02:00
duan_j 9941d8d456 add ra train script
CI / ledger-and-tools (push) Successful in 17s
2026-09-30 11:45:26 +02:00
Duan 8ff20f9f84 add train script on merlin
CI / ledger-and-tools (push) Successful in 18s
2026-09-30 10:40:32 +02:00
jungfrauandClaude Fable 5.1 f1a945528e cluster runs on dataset v3: resolution and model-size levers
CI / ledger-and-tools (push) Successful in 18s
Three ledger runs for the cluster, exported on dataset/2026-09-29_v3 with the
promoted recipe: nano at 1024 px, small at 640 px, small at 1024 px. A run can
now carry its own training arguments (train_args in run.json, set with
ledger new --kv), which train_run.py applies under any --set; train.sbatch
forwards extra arguments after the run id (e.g. --batch 8). yolo26s-seg.pt
joins the base weights under LFS. slurm/README lists the runs, the questions
they answer and the commands.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-30 07:18:06 +02:00
jungfrauandClaude Fable 5.1 09cb49a3a2 ledger: v3-noflip-mask1 training on the Spark (restarted 07:13 after a memory-starved hang); v2-noflip-mask1 aborted, superseded by v3
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-30 07:16:27 +02:00
jungfrau d562b94671 run 2026-09-29_v3-recipeA: gate_passed; comparison updated 2026-09-29 23:42:41 +02:00
jungfrau efba872cdf runs 2026-09-29_v3-recipeA and 2026-09-29_v3-noflip-mask1: exported on dataset/2026-09-29_v3 2026-09-29 22:41:13 +02:00
jungfrau a6da2aa4aa dataset: 2026-09-29_v3 (1181 train / 210 val, 366 new pool images) dataset/2026-09-29_v3 2026-09-29 22:41:12 +02:00
jungfrauandClaude Fable 5.1 486b077f24 ledger: 2026-09-29_alc-v1-noflip-mask1 deployed at the beamlines (weights only)
CI / ledger-and-tools (push) Successful in 18s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-29 20:47:44 +02:00
GotthardGandClaude Fable 5.1 b4d86d3f31 experiments: loop-type classifier, first cross-validated test (broken loops AUROC 0.985)
CI / ledger-and-tools (push) Successful in 18s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-29 18:18:28 +02:00
jungfrau 0ec5138409 all models re-measured on the 203-frame gold set; comparison on the unseen frames updated
CI / ledger-and-tools (push) Successful in 18s
2026-09-29 18:00:50 +02:00
GotthardGandClaude Fable 5.1 acaf09483e 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>
2026-09-29 17:58:28 +02:00
jungfrau 3d39d40560 run 2026-09-29_v2-recipeA: gate_failed; comparison updated
CI / ledger-and-tools (push) Successful in 18s
2026-09-29 17:58:39 +02:00
jungfrau ad8ae0fce4 runs 2026-09-29_v2-recipeA and 2026-09-29_v2-noflip-mask1: exported on dataset/2026-09-29_v2 2026-09-29 17:58:39 +02:00
jungfrau 0742281af0 baseline: yolo26n-seg-alc-v1-noflip-mask1-2026-09-29 re-measured on the gold set grown to 203 frames 2026-09-29 17:58:39 +02:00
jungfrau a6efca1c10 base weights yolo26n-seg.pt under LFS, so a cluster clone needs no download 2026-09-29 17:58:39 +02:00
jungfrau 039cdcba1c dataset: 2026-09-29_v2 (876 train / 156 val, 315 new pool images) 2026-09-29 17:58:38 +02:00
GotthardGandClaude Fable 5.1 babe197cb2 recipe: no horizontal flip and full-resolution masks by default (winner of the 2026-09-28/29 comparison)
CI / ledger-and-tools (push) Successful in 16s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-29 11:13:25 +02:00
jungfrau e7a02cd1ea run 2026-09-29_alc-v1-noflip-mask1: promoted (same detection as A, tightest masks); loop switches to it
CI / ledger-and-tools (push) Successful in 18s
v1.2.0
2026-09-29 11:13:44 +02:00
jungfrau 703bfc2e11 run 2026-09-29_alc-v1-noflip-mask1: gate_passed, comparison updated
CI / ledger-and-tools (push) Successful in 18s
2026-09-29 10:37:36 +02:00
jungfrau d4534fc66c run 2026-09-29_alc-v1-noflip-mask1: exported (noflip + mask_ratio 1) 2026-09-29 07:31:18 +02:00
GotthardG 308b4c7704 ignore Ultralytics label caches inside datasets
CI / ledger-and-tools (push) Successful in 19s
2026-09-29 00:35:06 +02:00
jungfrau d2d525487c experiments 2026-09-28: comparison on the unseen gold frames
CI / ledger-and-tools (push) Successful in 20s
2026-09-29 00:31:03 +02:00
jungfrau 40dc9e54e3 run 2026-09-28_alc-v1-800px: gate_failed 2026-09-29 00:31:02 +02:00
jungfrau 6000995228 run 2026-09-28_alc-v1-overlap: aborted on purpose (nested classes need overlap_mask off) 2026-09-28 23:55:33 +02:00
jungfrau be6f1d77a7 run 2026-09-28_alc-v1-800px: exported (training size 800 px) 2026-09-28 23:55:28 +02:00
jungfrau cc868e9856 run 2026-09-28_alc-v1-overlap: training 2026-09-28 23:55:28 +02:00
jungfrau b5a398ebb9 run 2026-09-28_alc-v1-overlap: exported (overlap_mask on) 2026-09-28 23:54:53 +02:00
jungfrau 13f4d6e3f7 run 2026-09-28_alc-v1-mask1: gate_failed 2026-09-28 23:54:53 +02:00
jungfrau 07716e7b0b run 2026-09-28_alc-v1-mask1: exported (full-resolution masks (mask_ratio=1)) 2026-09-28 21:30:31 +02:00
jungfrau e84bcfb658 run 2026-09-28_alc-v1-noflip: gate_passed 2026-09-28 21:30:31 +02:00
jungfrau 381680470c run 2026-09-28_alc-v1-noflip: exported (no horizontal flip (fliplr=0): the camera never shows the pin on the left) 2026-09-28 21:03:25 +02:00
GotthardGandClaude Fable 5.1 1bdf1fc6b1 train_run: --set KEY=VALUE overrides for Ultralytics train arguments, recorded in the ledger
CI / ledger-and-tools (push) Successful in 19s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-28 21:01:34 +02:00
jungfrau ed208bff95 run 2026-09-28_alc-v1-humanonly: gate passed, not promoted (A/B on clean gold: masks no tighter without accepted-unchanged labels, crystal worse)
CI / ledger-and-tools (push) Successful in 17s
2026-09-28 20:44:27 +02:00
jungfrau 84b5092766 run 2026-09-28_alc-v1-humanonly: exported (twin without accepted-unchanged labels)
CI / ledger-and-tools (push) Successful in 19s
2026-09-28 20:01:45 +02:00
jungfrau 8898f4212a dataset: 2026-09-28_alc-v1-humanonly (476 train / 84 val, 7 new pool images) dataset/2026-09-28_alc-v1-humanonly 2026-09-28 20:01:45 +02:00
jungfrau 46bfcb7ea5 runs/README.md: render
CI / ledger-and-tools (push) Successful in 18s
2026-09-28 19:18:29 +02:00
jungfrau 7bfd799c26 run 2026-09-28_alc-v1: promoted by the gate after the mask-term fix (F1 +0.045, mask score 0.678 -> 0.710)
CI / ledger-and-tools (push) Successful in 17s
2026-09-28 19:18:27 +02:00
GotthardGandClaude Fable 5.1 3794330fc3 gate: mask term over all gold objects (unmatched = 0), so finding more objects is not punished; tests
CI / ledger-and-tools (push) Successful in 18s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-28 19:16:01 +02:00