From d16979464777311877465a9375dec30992eae66a Mon Sep 17 00:00:00 2001 From: jungfrau Date: Sat, 31 Oct 2026 02:12:23 +0100 Subject: [PATCH] run 2026-10-30_v6-noflip-mask1: gate_failed --- .../gold_report.json | 108 ++++++++++++++++++ .../metadata.json | 71 ++++++++++++ .../weights.pt | 3 + runs/2026-10-30_v6-noflip-mask1/latency.json | 1 + runs/2026-10-30_v6-noflip-mask1/metrics.json | 57 +++++++++ runs/2026-10-30_v6-noflip-mask1/run.json | 52 ++++++++- runs/README.md | 8 ++ 7 files changed, 295 insertions(+), 5 deletions(-) create mode 100644 models/registry/yolo26n-seg-v6-noflip-mask1-2026-10-31/gold_report.json create mode 100644 models/registry/yolo26n-seg-v6-noflip-mask1-2026-10-31/metadata.json create mode 100644 models/registry/yolo26n-seg-v6-noflip-mask1-2026-10-31/weights.pt create mode 100644 runs/2026-10-30_v6-noflip-mask1/latency.json create mode 100644 runs/2026-10-30_v6-noflip-mask1/metrics.json diff --git a/models/registry/yolo26n-seg-v6-noflip-mask1-2026-10-31/gold_report.json b/models/registry/yolo26n-seg-v6-noflip-mask1-2026-10-31/gold_report.json new file mode 100644 index 00000000..5e6c3b43 --- /dev/null +++ b/models/registry/yolo26n-seg-v6-noflip-mask1-2026-10-31/gold_report.json @@ -0,0 +1,108 @@ +{ + "per_class": { + "loop_all": { + "tp": 181, + "fp": 17, + "fn": 8, + "precision": 0.9141414141414141, + "recall": 0.9576719576719577, + "f1": 0.9354005167958657, + "mean_mask_iou": 0.909044518904404, + "n_matched": 181 + }, + "pin": { + "tp": 79, + "fp": 15, + "fn": 8, + "precision": 0.8404255319148937, + "recall": 0.9080459770114943, + "f1": 0.87292817679558, + "mean_mask_iou": 0.9174645165957043, + "n_matched": 79 + }, + "crystal": { + "tp": 95, + "fp": 51, + "fn": 72, + "precision": 0.6506849315068494, + "recall": 0.5688622754491018, + "f1": 0.6070287539936103, + "mean_mask_iou": 0.7505170981603402, + "n_matched": 95 + }, + "loop_face": { + "tp": 153, + "fp": 45, + "fn": 28, + "precision": 0.7727272727272727, + "recall": 0.8453038674033149, + "f1": 0.8073878627968337, + "mean_mask_iou": 0.8832341705217076, + "n_matched": 153 + }, + "ice": { + "tp": 4, + "fp": 10, + "fn": 43, + "precision": 0.2857142857142857, + "recall": 0.0851063829787234, + "f1": 0.13114754098360654, + "mean_mask_iou": 0.8565336147133991, + "n_matched": 4 + } + }, + "overall": { + "tp": 512, + "fp": 138, + "fn": 159, + "precision": 0.7876923076923077, + "recall": 0.7630402384500745, + "f1": 0.7751703255109765, + "mean_mask_iou": 0.8728063312630174, + "n_matched": 512 + }, + "dataset": { + "gold_images": 288, + "pred_images": 288, + "missing_predictions": 0, + "iou_threshold": 0.5, + "ignored_objects": 242 + }, + "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.0179, + "mask_iou_delta": -0.0252, + "mask_score": 0.666, + "mask_score_baseline": 0.6912, + "matched_only_iou_delta": -0.0039, + "class_f1_delta": { + "loop_all": -0.0003, + "pin": -0.0321 + }, + "pass_point_rule": false, + "rule": "paired bootstrap", + "bootstrap": { + "frames": 288, + "mounts": 260, + "draws": 2000, + "f1": { + "delta": -0.0179, + "lo": -0.0412, + "hi": 0.0051, + "win": 0.066 + }, + "mask_score": { + "delta": -0.0252, + "lo": -0.043, + "hi": -0.0077, + "win": 0.002 + } + }, + "pass": false + } +} diff --git a/models/registry/yolo26n-seg-v6-noflip-mask1-2026-10-31/metadata.json b/models/registry/yolo26n-seg-v6-noflip-mask1-2026-10-31/metadata.json new file mode 100644 index 00000000..a327d0fc --- /dev/null +++ b/models/registry/yolo26n-seg-v6-noflip-mask1-2026-10-31/metadata.json @@ -0,0 +1,71 @@ +{ + "model_id": "yolo26n-seg-v6-noflip-mask1-2026-10-31", + "family": "yolo26n", + "task": "segmentation", + "training_date": "2026-10-31", + "run": "2026-10-30_v6-noflip-mask1", + "dataset": "dataset/2026-10-30_v6", + "base_weights": "models/base/yolo26n-seg.pt", + "hyperparams": { + "epochs": 400, + "patience": 50, + "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 + }, + "export_formats": [ + "pt" + ], + "metrics": { + "tp": 512, + "fp": 138, + "fn": 159, + "precision": 0.7876923076923077, + "recall": 0.7630402384500745, + "f1": 0.7751703255109765, + "mean_mask_iou": 0.8728063312630174, + "n_matched": 512 + }, + "gate": { + "baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26s-seg-v5-s-noflip-mask1-2026-10-25/gold_report.json", + "f1_delta": -0.0179, + "mask_iou_delta": -0.0252, + "mask_score": 0.666, + "mask_score_baseline": 0.6912, + "matched_only_iou_delta": -0.0039, + "class_f1_delta": { + "loop_all": -0.0003, + "pin": -0.0321 + }, + "pass_point_rule": false, + "rule": "paired bootstrap", + "bootstrap": { + "frames": 288, + "mounts": 260, + "draws": 2000, + "f1": { + "delta": -0.0179, + "lo": -0.0412, + "hi": 0.0051, + "win": 0.066 + }, + "mask_score": { + "delta": -0.0252, + "lo": -0.043, + "hi": -0.0077, + "win": 0.002 + } + }, + "pass": false + } +} diff --git a/models/registry/yolo26n-seg-v6-noflip-mask1-2026-10-31/weights.pt b/models/registry/yolo26n-seg-v6-noflip-mask1-2026-10-31/weights.pt new file mode 100644 index 00000000..87d64f2c --- /dev/null +++ b/models/registry/yolo26n-seg-v6-noflip-mask1-2026-10-31/weights.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4a9a3a7328dd042331d68558819eb8d1c0e3e7aa8166070fad1b27c963b1479 +size 6574813 diff --git a/runs/2026-10-30_v6-noflip-mask1/latency.json b/runs/2026-10-30_v6-noflip-mask1/latency.json new file mode 100644 index 00000000..aa5b3586 --- /dev/null +++ b/runs/2026-10-30_v6-noflip-mask1/latency.json @@ -0,0 +1 @@ +{"weights": "runs/2026-10-30_v6-noflip-mask1/ultralytics/train/weights/best.pt", "frames": 150, "imgsz": 640, "infer_scale": 0.5, "half": true, "ms_median": 4.21, "ms_p90": 4.49, "ms_max": 6.91, "fps_median": 237.3, "device": "0", "backend": "pytorch", "gpu": "NVIDIA GB10", "ultralytics": "8.4.160", "torch": "2.14.0+cu130"} diff --git a/runs/2026-10-30_v6-noflip-mask1/metrics.json b/runs/2026-10-30_v6-noflip-mask1/metrics.json new file mode 100644 index 00000000..e182ca4d --- /dev/null +++ b/runs/2026-10-30_v6-noflip-mask1/metrics.json @@ -0,0 +1,57 @@ +{ + "overall": { + "tp": 512, + "fp": 138, + "fn": 159, + "precision": 0.7876923076923077, + "recall": 0.7630402384500745, + "f1": 0.7751703255109765, + "mean_mask_iou": 0.8728063312630174, + "n_matched": 512 + }, + "gate": { + "baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26s-seg-v5-s-noflip-mask1-2026-10-25/gold_report.json", + "f1_delta": -0.0179, + "mask_iou_delta": -0.0252, + "mask_score": 0.666, + "mask_score_baseline": 0.6912, + "matched_only_iou_delta": -0.0039, + "class_f1_delta": { + "loop_all": -0.0003, + "pin": -0.0321 + }, + "pass_point_rule": false, + "rule": "paired bootstrap", + "bootstrap": { + "frames": 288, + "mounts": 260, + "draws": 2000, + "f1": { + "delta": -0.0179, + "lo": -0.0412, + "hi": 0.0051, + "win": 0.066 + }, + "mask_score": { + "delta": -0.0252, + "lo": -0.043, + "hi": -0.0077, + "win": 0.002 + } + }, + "pass": false + }, + "training": { + "epochs_run": 161, + "precision(B)": 0.80171, + "recall(B)": 0.71203, + "mAP50(B)": 0.73962, + "mAP50-95(B)": 0.58688, + "precision(M)": 0.79864, + "recall(M)": 0.71092, + "mAP50(M)": 0.73586, + "mAP50-95(M)": 0.57043 + }, + "version": "yolo26n-seg-v6-noflip-mask1-2026-10-31", + "measured_at": "2026-10-31T02:12:12" +} diff --git a/runs/2026-10-30_v6-noflip-mask1/run.json b/runs/2026-10-30_v6-noflip-mask1/run.json index 70aa3784..2a43aef7 100644 --- a/runs/2026-10-30_v6-noflip-mask1/run.json +++ b/runs/2026-10-30_v6-noflip-mask1/run.json @@ -2,18 +2,60 @@ "id": "2026-10-30_v6-noflip-mask1", "dataset": "dataset/2026-10-30_v6", "base_weights": "models/base/yolo26n-seg.pt", - "status": "exported", + "status": "gate_failed", "created": "2026-10-30T16:52:13", "created_by": "jungfrau@mx-spark-01", - "hyperparams": {}, - "version": null, - "metrics": {}, + "hyperparams": { + "epochs": 400, + "patience": 50, + "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 + }, + "version": "yolo26n-seg-v6-noflip-mask1-2026-10-31", + "metrics": { + "f1": 0.7751703255109765, + "mean_mask_iou": 0.8728063312630174, + "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-31T02:12:12" + }, "history": [ { "status": "exported", "at": "2026-10-30T16:52:13", "by": "jungfrau@mx-spark-01", "note": "promoted recipe (fliplr 0, mask_ratio 1) on dataset v6: candidate for the beamlines, Spark" + }, + { + "status": "training", + "at": "2026-10-30T16:52:13", + "by": "jungfrau@mx-spark-01", + "note": "train_run.py" + }, + { + "status": "measured", + "at": "2026-10-31T02:12:12", + "by": "jungfrau@mx-spark-01", + "note": "" + }, + { + "status": "gate_failed", + "at": "2026-10-31T02:12:12", + "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.0179, \"mask_iou_delta\": -0.0252, \"mask_score\": 0.666, \"mask_score_baseline\": 0.6912, \"matched_only_iou_delta\": -0.0039, \"class_f1_delta\": {\"loop_all\": -0.0003, \"pin\": -0.0321}, \"pass_point_rule\": false, \"rule\": \"paired bootstrap\", \"bootstrap\": {\"frames\": 288, \"mounts\": 260, \"draws\": 2000, \"f1\": {\"delta\": -0.0179, \"lo\": -0.0412, \"hi\": 0.0051, \"win\": 0.066}, \"mask_score\": {\"delta\": -0.0252, \"lo\": -0.043, \"hi\": -0.0077, \"win\": 0.002}}, \"pass\": false}" } - ] + ], + "host": "mx-spark-01", + "started": "2026-10-30T16:52:13" } diff --git a/runs/README.md b/runs/README.md index 5fb7fe5e..2285699f 100644 --- a/runs/README.md +++ b/runs/README.md @@ -27,6 +27,7 @@ Generated by `python tools/ledger.py render`; do not edit by hand. | 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 | | 2026-10-26_v5h-noflip-mask1 | gate_failed | dataset/2026-10-26_v5h | models/base/yolo26n-seg.pt | yolo26n-seg-v5h-noflip-mask1-2026-10-26 | 0.716 | 0.866 | no | 2026-10-26T09:16 | +| 2026-10-30_v6-noflip-mask1 | gate_failed | dataset/2026-10-30_v6 | models/base/yolo26n-seg.pt | yolo26n-seg-v6-noflip-mask1-2026-10-31 | 0.775 | 0.873 | no | 2026-10-31T02:12 | States: exported → queued → training → measured → gate_passed → gate_failed → promoted → deployed (or aborted). @@ -221,3 +222,10 @@ States: exported → queued → training → measured → gate_passed → gate_f - 2026-10-26T01:43:39 · training · jungfrau@mx-spark-01 — train_run.py - 2026-10-26T09:16:24 · measured · jungfrau@mx-spark-01 - 2026-10-26T09:16:24 · 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.0448, "mask_iou_delta": -0.0327, "mask_score": 0.6503, "mask_score_baseline": 0.6831, "matched_only_iou_delta": 0.0043, "class_f1_delta": {"loop_all": -0.0483, "pin": -0.0221}, "pass_point_rule": false, "rule": "paired bootstrap", "bootstrap": {"frames": 335, "mounts": 300, "draws": 2000, "f1": {"delta": -0.0448, "lo": -0.074, "hi": -0.0181, "win": 0.001}, "mask_score": {"delta": -0.0327, "lo": -0.0544, "hi": -0.0126, "win": 0.001}}, "pass": false} + +## 2026-10-30_v6-noflip-mask1 + +- 2026-10-30T16:52:13 · exported · jungfrau@mx-spark-01 — promoted recipe (fliplr 0, mask_ratio 1) on dataset v6: candidate for the beamlines, Spark +- 2026-10-30T16:52:13 · training · jungfrau@mx-spark-01 — train_run.py +- 2026-10-31T02:12:12 · measured · jungfrau@mx-spark-01 +- 2026-10-31T02:12:12 · 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.0179, "mask_iou_delta": -0.0252, "mask_score": 0.666, "mask_score_baseline": 0.6912, "matched_only_iou_delta": -0.0039, "class_f1_delta": {"loop_all": -0.0003, "pin": -0.0321}, "pass_point_rule": false, "rule": "paired bootstrap", "bootstrap": {"frames": 288, "mounts": 260, "draws": 2000, "f1": {"delta": -0.0179, "lo": -0.0412, "hi": 0.0051, "win": 0.066}, "mask_score": {"delta": -0.0252, "lo": -0.043, "hi": -0.0077, "win": 0.002}}, "pass": false}