From 5dc38167c48b1eeb57a3c51bb13817f3ac27f20c Mon Sep 17 00:00:00 2001 From: jungfrau Date: Mon, 26 Oct 2026 01:43:32 +0100 Subject: [PATCH] run 2026-10-25_v5-warm: gate_failed --- .../gold_report.json | 118 ++++++++++++++++++ .../metadata.json | 74 +++++++++++ .../weights-seg-v5-warm-2026-10-26/weights.pt | 3 + runs/2026-10-25_v5-warm/latency.json | 1 + runs/2026-10-25_v5-warm/metrics.json | 57 +++++++++ runs/2026-10-25_v5-warm/run.json | 24 +++- runs/README.md | 14 ++- 7 files changed, 287 insertions(+), 4 deletions(-) create mode 100644 models/registry/weights-seg-v5-warm-2026-10-26/gold_report.json create mode 100644 models/registry/weights-seg-v5-warm-2026-10-26/metadata.json create mode 100644 models/registry/weights-seg-v5-warm-2026-10-26/weights.pt create mode 100644 runs/2026-10-25_v5-warm/latency.json create mode 100644 runs/2026-10-25_v5-warm/metrics.json diff --git a/models/registry/weights-seg-v5-warm-2026-10-26/gold_report.json b/models/registry/weights-seg-v5-warm-2026-10-26/gold_report.json new file mode 100644 index 00000000..f432bb99 --- /dev/null +++ b/models/registry/weights-seg-v5-warm-2026-10-26/gold_report.json @@ -0,0 +1,118 @@ +{ + "per_class": { + "loop_all": { + "tp": 153, + "fp": 21, + "fn": 5, + "precision": 0.8793103448275862, + "recall": 0.9683544303797469, + "f1": 0.9216867469879519, + "mean_mask_iou": 0.890153447249479, + "n_matched": 153 + }, + "pin": { + "tp": 73, + "fp": 19, + "fn": 11, + "precision": 0.7934782608695652, + "recall": 0.8690476190476191, + "f1": 0.8295454545454546, + "mean_mask_iou": 0.910799442547086, + "n_matched": 73 + }, + "crystal": { + "tp": 87, + "fp": 61, + "fn": 48, + "precision": 0.5878378378378378, + "recall": 0.6444444444444445, + "f1": 0.6148409893992933, + "mean_mask_iou": 0.781359783392283, + "n_matched": 87 + }, + "loop_face": { + "tp": 135, + "fp": 42, + "fn": 20, + "precision": 0.7627118644067796, + "recall": 0.8709677419354839, + "f1": 0.8132530120481929, + "mean_mask_iou": 0.8526069861982312, + "n_matched": 135 + }, + "ice": { + "tp": 3, + "fp": 23, + "fn": 39, + "precision": 0.11538461538461539, + "recall": 0.07142857142857142, + "f1": 0.08823529411764706, + "mean_mask_iou": 0.8870089528484056, + "n_matched": 3 + }, + "needle": { + "tp": 0, + "fp": 0, + "fn": 1, + "precision": 0.0, + "recall": 0.0, + "f1": 0.0, + "mean_mask_iou": 0.0, + "n_matched": 0 + } + }, + "overall": { + "tp": 451, + "fp": 166, + "fn": 124, + "precision": 0.7309562398703403, + "recall": 0.7843478260869565, + "f1": 0.7567114093959731, + "mean_mask_iou": 0.8612485762428883, + "n_matched": 451 + }, + "dataset": { + "gold_images": 335, + "pred_images": 335, + "missing_predictions": 0, + "iou_threshold": 0.5, + "ignored_objects": 454 + }, + "environment": { + "host": "mx-spark-01", + "ultralytics": "8.4.160", + "torch": "2.14.0+cu130" + }, + "gate": { + "baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26s-seg-v5-s-noflip-mask1-2026-10-25/gold_report.json", + "f1_delta": -0.0039, + "mask_iou_delta": -0.0075, + "mask_score": 0.6755, + "mask_score_baseline": 0.6831, + "matched_only_iou_delta": -0.0001, + "class_f1_delta": { + "loop_all": 0.001, + "pin": -0.0102 + }, + "pass_point_rule": false, + "rule": "paired bootstrap", + "bootstrap": { + "frames": 335, + "mounts": 300, + "draws": 2000, + "f1": { + "delta": -0.0039, + "lo": -0.0266, + "hi": 0.0186, + "win": 0.377 + }, + "mask_score": { + "delta": -0.0075, + "lo": -0.0241, + "hi": 0.0084, + "win": 0.171 + } + }, + "pass": false + } +} diff --git a/models/registry/weights-seg-v5-warm-2026-10-26/metadata.json b/models/registry/weights-seg-v5-warm-2026-10-26/metadata.json new file mode 100644 index 00000000..6e5425c2 --- /dev/null +++ b/models/registry/weights-seg-v5-warm-2026-10-26/metadata.json @@ -0,0 +1,74 @@ +{ + "model_id": "weights-seg-v5-warm-2026-10-26", + "family": "weights", + "task": "segmentation", + "training_date": "2026-10-26", + "run": "2026-10-25_v5-warm", + "dataset": "dataset/2026-10-22_v5", + "base_weights": "models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/weights.pt", + "hyperparams": { + "epochs": 80, + "patience": 30, + "imgsz": 640, + "batch": 16, + "device": "0", + "overlap_mask": false, + "scale": 0.7, + "translate": 0.15, + "mosaic": 0.5, + "close_mosaic": 10, + "fliplr": 0, + "flipud": 0.3, + "shear": 5.0, + "perspective": 0.0, + "mask_ratio": 1, + "optimizer": "SGD", + "lr0": 0.002, + "warmup_epochs": 1 + }, + "export_formats": [ + "pt" + ], + "metrics": { + "tp": 451, + "fp": 166, + "fn": 124, + "precision": 0.7309562398703403, + "recall": 0.7843478260869565, + "f1": 0.7567114093959731, + "mean_mask_iou": 0.8612485762428883, + "n_matched": 451 + }, + "gate": { + "baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26s-seg-v5-s-noflip-mask1-2026-10-25/gold_report.json", + "f1_delta": -0.0039, + "mask_iou_delta": -0.0075, + "mask_score": 0.6755, + "mask_score_baseline": 0.6831, + "matched_only_iou_delta": -0.0001, + "class_f1_delta": { + "loop_all": 0.001, + "pin": -0.0102 + }, + "pass_point_rule": false, + "rule": "paired bootstrap", + "bootstrap": { + "frames": 335, + "mounts": 300, + "draws": 2000, + "f1": { + "delta": -0.0039, + "lo": -0.0266, + "hi": 0.0186, + "win": 0.377 + }, + "mask_score": { + "delta": -0.0075, + "lo": -0.0241, + "hi": 0.0084, + "win": 0.171 + } + }, + "pass": false + } +} diff --git a/models/registry/weights-seg-v5-warm-2026-10-26/weights.pt b/models/registry/weights-seg-v5-warm-2026-10-26/weights.pt new file mode 100644 index 00000000..c8428ca0 --- /dev/null +++ b/models/registry/weights-seg-v5-warm-2026-10-26/weights.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b4fe11a4336074ee221d9fc95f8b6f0ca11ddc16cabd6f84456e624edb26450 +size 6551261 diff --git a/runs/2026-10-25_v5-warm/latency.json b/runs/2026-10-25_v5-warm/latency.json new file mode 100644 index 00000000..c2cd608f --- /dev/null +++ b/runs/2026-10-25_v5-warm/latency.json @@ -0,0 +1 @@ +{"weights": "runs/2026-10-25_v5-warm/ultralytics/train/weights/best.pt", "frames": 150, "imgsz": 640, "infer_scale": 0.5, "half": true, "ms_median": 4.04, "ms_p90": 4.11, "ms_max": 6.76, "fps_median": 247.8, "device": "0", "backend": "pytorch", "gpu": "NVIDIA GB10", "ultralytics": "8.4.160", "torch": "2.14.0+cu130"} diff --git a/runs/2026-10-25_v5-warm/metrics.json b/runs/2026-10-25_v5-warm/metrics.json new file mode 100644 index 00000000..edccddaa --- /dev/null +++ b/runs/2026-10-25_v5-warm/metrics.json @@ -0,0 +1,57 @@ +{ + "overall": { + "tp": 451, + "fp": 166, + "fn": 124, + "precision": 0.7309562398703403, + "recall": 0.7843478260869565, + "f1": 0.7567114093959731, + "mean_mask_iou": 0.8612485762428883, + "n_matched": 451 + }, + "gate": { + "baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26s-seg-v5-s-noflip-mask1-2026-10-25/gold_report.json", + "f1_delta": -0.0039, + "mask_iou_delta": -0.0075, + "mask_score": 0.6755, + "mask_score_baseline": 0.6831, + "matched_only_iou_delta": -0.0001, + "class_f1_delta": { + "loop_all": 0.001, + "pin": -0.0102 + }, + "pass_point_rule": false, + "rule": "paired bootstrap", + "bootstrap": { + "frames": 335, + "mounts": 300, + "draws": 2000, + "f1": { + "delta": -0.0039, + "lo": -0.0266, + "hi": 0.0186, + "win": 0.377 + }, + "mask_score": { + "delta": -0.0075, + "lo": -0.0241, + "hi": 0.0084, + "win": 0.171 + } + }, + "pass": false + }, + "training": { + "epochs_run": 77, + "precision(B)": 0.88387, + "recall(B)": 0.85833, + "mAP50(B)": 0.89369, + "mAP50-95(B)": 0.74859, + "precision(M)": 0.89031, + "recall(M)": 0.86462, + "mAP50(M)": 0.90421, + "mAP50-95(M)": 0.71903 + }, + "version": "weights-seg-v5-warm-2026-10-26", + "measured_at": "2026-10-26T01:43:22" +} diff --git a/runs/2026-10-25_v5-warm/run.json b/runs/2026-10-25_v5-warm/run.json index 8a2a39b2..f63dfc1a 100644 --- a/runs/2026-10-25_v5-warm/run.json +++ b/runs/2026-10-25_v5-warm/run.json @@ -2,7 +2,7 @@ "id": "2026-10-25_v5-warm", "dataset": "dataset/2026-10-22_v5", "base_weights": "models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/weights.pt", - "status": "training", + "status": "gate_failed", "created": "2026-10-25T21:54:51", "created_by": "jungfrau@mx-spark-01", "hyperparams": { @@ -25,8 +25,14 @@ "lr0": 0.002, "warmup_epochs": 1 }, - "version": null, - "metrics": {}, + "version": "weights-seg-v5-warm-2026-10-26", + "metrics": { + "f1": 0.7567114093959731, + "mean_mask_iou": 0.8612485762428883, + "gate_pass": false, + "baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26s-seg-v5-s-noflip-mask1-2026-10-25/gold_report.json", + "measured_at": "2026-10-26T01:43:22" + }, "history": [ { "status": "exported", @@ -39,6 +45,18 @@ "at": "2026-10-25T21:54:51", "by": "jungfrau@mx-spark-01", "note": "train_run.py" + }, + { + "status": "measured", + "at": "2026-10-26T01:43:22", + "by": "jungfrau@mx-spark-01", + "note": "" + }, + { + "status": "gate_failed", + "at": "2026-10-26T01:43:22", + "by": "jungfrau@mx-spark-01", + "note": "{\"baseline\": \"/home/jungfrau/AareLC_train/models/registry/yolo26s-seg-v5-s-noflip-mask1-2026-10-25/gold_report.json\", \"f1_delta\": -0.0039, \"mask_iou_delta\": -0.0075, \"mask_score\": 0.6755, \"mask_score_baseline\": 0.6831, \"matched_only_iou_delta\": -0.0001, \"class_f1_delta\": {\"loop_all\": 0.001, \"pin\": -0.0102}, \"pass_point_rule\": false, \"rule\": \"paired bootstrap\", \"bootstrap\": {\"frames\": 335, \"mounts\": 300, \"draws\": 2000, \"f1\": {\"delta\": -0.0039, \"lo\": -0.0266, \"hi\": 0.0186, \"win\": 0.377}, \"mask_score\": {\"delta\": -0.0075, \"lo\": -0.0241, \"hi\": 0.0084, \"win\": 0.171}}, \"pass\": false}" } ], "train_args": { diff --git a/runs/README.md b/runs/README.md index 364fe1e6..70a442af 100644 --- a/runs/README.md +++ b/runs/README.md @@ -23,8 +23,9 @@ Generated by `python tools/ledger.py render`; do not edit by hand. | 2026-10-22_v5-noflip-mask1 | gate_failed | dataset/2026-10-22_v5 | models/base/yolo26n-seg.pt | yolo26n-seg-v5-noflip-mask1-2026-10-25 | 0.755 | 0.859 | no | 2026-10-25T09:47 | | 2026-10-23_v5-m-noflip-mask1 | aborted | dataset/2026-10-22_v5 | models/base/yolo26m-seg.pt | - | - | - | - | 2026-10-23T18:53 | | 2026-10-23_v5-n-1024px | gate_failed | dataset/2026-10-22_v5 | models/base/yolo26n-seg.pt | yolo26n-seg-v5-n-1024px-2026-10-25 | 0.751 | 0.864 | no | 2026-10-25T09:48 | -| 2026-10-23_v5-s-noflip-mask1 | gate_passed | dataset/2026-10-22_v5 | models/base/yolo26s-seg.pt | yolo26s-seg-v5-s-noflip-mask1-2026-10-25 | 0.761 | 0.861 | yes | 2026-10-25T09:47 | +| 2026-10-23_v5-s-noflip-mask1 | promoted | dataset/2026-10-22_v5 | models/base/yolo26s-seg.pt | yolo26s-seg-v5-s-noflip-mask1-2026-10-25 | 0.761 | 0.861 | yes | 2026-10-25T22:15 | | 2026-10-25_v5-amp | gate_failed | dataset/2026-10-22_v5 | models/base/yolo26n-seg.pt | yolo26n-seg-v5-amp-2026-10-25 | 0.746 | 0.865 | no | 2026-10-25T21:37 | +| 2026-10-25_v5-warm | gate_failed | dataset/2026-10-22_v5 | models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/weights.pt | weights-seg-v5-warm-2026-10-26 | 0.757 | 0.861 | no | 2026-10-26T01:43 | States: exported → queued → training → measured → gate_passed → gate_failed → promoted → deployed (or aborted). @@ -193,6 +194,10 @@ States: exported → queued → training → measured → gate_passed → gate_f - 2026-10-25T09:47:49 · training · jungfrau@mx-spark-01 — train_run.py - 2026-10-25T09:47:58 · measured · jungfrau@mx-spark-01 - 2026-10-25T09:47:58 · gate_passed · jungfrau@mx-spark-01 — {"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json", "f1_delta": 0.0207, "mask_iou_delta": 0.0104, "mask_score": 0.6831, "mask_score_baseline": 0.6726, "matched_only_iou_delta": -0.002, "class_f1_delta": {"loop_all": -0.0085, "pin": 0.0064}, "pass_point_rule": true, "rule": "paired bootstrap", "bootstrap": {"frames": 335, "mounts": 300, "draws": 2000, "f1": {"delta": 0.0207, "lo": -0.0028, "hi": 0.0438, "win": 0.961}, "mask_score": {"delta": 0.0104, "lo": -0.0053, "hi": 0.027, "win": 0.9}}, "pass": true} +- 2026-10-25T22:15:34 · training · jungfrau@mx-spark-01 — train_run.py +- 2026-10-25T22:15:54 · measured · jungfrau@mx-spark-01 +- 2026-10-25T22:15:54 · gate_passed · jungfrau@mx-spark-01 — {"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json", "f1_delta": 0.0207, "mask_iou_delta": 0.0104, "mask_score": 0.6831, "mask_score_baseline": 0.6726, "matched_only_iou_delta": -0.002, "class_f1_delta": {"loop_all": -0.0085, "pin": 0.0064}, "pass_point_rule": true, "rule": "paired bootstrap", "bootstrap": {"frames": 335, "mounts": 300, "draws": 2000, "f1": {"delta": 0.0207, "lo": -0.0028, "hi": 0.0438, "win": 0.961}, "mask_score": {"delta": 0.0104, "lo": -0.0053, "hi": 0.027, "win": 0.9}}, "pass": true} +- 2026-10-25T22:15:54 · promoted · jungfrau@mx-spark-01 — by the gate ## 2026-10-25_v5-amp @@ -200,3 +205,10 @@ States: exported → queued → training → measured → gate_passed → gate_f - 2026-10-25T09:48:33 · training · jungfrau@mx-spark-01 — train_run.py - 2026-10-25T21:37:24 · measured · jungfrau@mx-spark-01 - 2026-10-25T21:37:24 · gate_failed · jungfrau@mx-spark-01 — {"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json", "f1_delta": 0.0056, "mask_iou_delta": -0.0139, "mask_score": 0.6587, "mask_score_baseline": 0.6726, "matched_only_iou_delta": 0.0014, "class_f1_delta": {"loop_all": -0.0151, "pin": -0.0267}, "pass_point_rule": false, "rule": "paired bootstrap", "bootstrap": {"frames": 335, "mounts": 300, "draws": 2000, "f1": {"delta": 0.0056, "lo": -0.0175, "hi": 0.0282, "win": 0.69}, "mask_score": {"delta": -0.0139, "lo": -0.0298, "hi": 0.0016, "win": 0.042}}, "pass": false} + +## 2026-10-25_v5-warm + +- 2026-10-25T21:54:51 · exported · jungfrau@mx-spark-01 — warm start: the promoted recipe continued from the active v4 weights, 80 epochs at lr0 0.002 (SGD, 1 warm-up epoch) on dataset v5: the speed test, gate only, Spark +- 2026-10-25T21:54:51 · training · jungfrau@mx-spark-01 — train_run.py +- 2026-10-26T01:43:22 · measured · jungfrau@mx-spark-01 +- 2026-10-26T01:43:22 · gate_failed · jungfrau@mx-spark-01 — {"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26s-seg-v5-s-noflip-mask1-2026-10-25/gold_report.json", "f1_delta": -0.0039, "mask_iou_delta": -0.0075, "mask_score": 0.6755, "mask_score_baseline": 0.6831, "matched_only_iou_delta": -0.0001, "class_f1_delta": {"loop_all": 0.001, "pin": -0.0102}, "pass_point_rule": false, "rule": "paired bootstrap", "bootstrap": {"frames": 335, "mounts": 300, "draws": 2000, "f1": {"delta": -0.0039, "lo": -0.0266, "hi": 0.0186, "win": 0.377}, "mask_score": {"delta": -0.0075, "lo": -0.0241, "hi": 0.0084, "win": 0.171}}, "pass": false}