Record YOLOv8s partial candidate evaluation
This commit is contained in:
@@ -1,3 +1,48 @@
|
||||
## Sprint 144 YOLOv8s hardneg r8 partial candidate evaluation (2026-07-08)
|
||||
|
||||
Changed:
|
||||
- Started a Tower-local YOLOv8s training run using:
|
||||
- dataset `/app/storage/operator-data/yolo-building-tile-hardneg160r8/dataset.yaml`
|
||||
- base model `/app/models/yolov8s.pt`
|
||||
- requested epochs `60`
|
||||
- image size `640`
|
||||
- batch `2`
|
||||
- device `cpu`
|
||||
- The Codex command reached its 1-hour timeout after 12 completed epochs; the run had produced `weights/best.pt` and `weights/last.pt`.
|
||||
- Preserved the partial best artifact as `/app/models/geointel-building-yolov8s-hardneg160r8e12partial.pt`.
|
||||
- Wrote `/app/storage/training/operator-yolo/geointel-building-yolov8s-hardneg160r8e60/training_summary_partial_e12.json`.
|
||||
- Treated the artifact explicitly as a partial evaluation candidate, not as a completed 60-epoch model.
|
||||
|
||||
Tested:
|
||||
- Live model catalog listed `geointel-building-yolov8s-hardneg160r8e12partial-pt` with SHA256 `0246202cddc47eb994a0afc9ee10d56b72298bd1cdc0b72b75e12b28e2202330`.
|
||||
- Ran 7-AOI positive matrix:
|
||||
- output `/mnt/user/appdata/geointel/artifacts/detection-quality-matrix/multi-sample/yolov8s-hardneg160r8e12partial-positive-20260708/multi_sample_quality_summary.json`
|
||||
- sample count `7`
|
||||
- run count `21`
|
||||
- best result: Westerlo threshold `0.05`, F1/score `0.14826498422712936`, precision `0.15666666666666668`, recall `0.1407185628742515`, detections `300`, false positives `253`, false negatives `287`.
|
||||
- Ran hard-negative matrix:
|
||||
- output `/mnt/user/appdata/geointel/artifacts/detection-hard-negatives/yolov8s-hardneg160r8e12partial-live/hard_negative_matrix_summary.json`
|
||||
- Postel-bos detections `0/0/0` at thresholds `0.05/0.15/0.25`
|
||||
- Lommel-heide detections `0/0/0`
|
||||
- Kasterlee-bos detections `18/1/0`
|
||||
- Assembled evidence portfolio:
|
||||
- output `/mnt/user/appdata/geointel/artifacts/detection-calibration-portfolio/yolov8s-hardneg160r8e12partial-positive-20260708/output/calibration_evidence_portfolio.json`
|
||||
- sample count `7`
|
||||
- evidence features `12908`
|
||||
- role counts `false_negative=10861`, `false_positive=1785`, `match_candidate=131`, `match_reference=131`
|
||||
- Ran promotion report:
|
||||
- output `/mnt/user/appdata/geointel/artifacts/detection-model-promotion/yolov8s-hardneg160r8e12partial-20260708/detection_model_promotion_report.json`
|
||||
- evaluated `3` candidate thresholds
|
||||
- recommended candidate `none`
|
||||
- threshold `0.05` rejected for `positive_mean_f1_below_gate` and `background_false_positive_pressure`, with mean F1 `0.05026994383963278` and max background detections `18`
|
||||
- threshold `0.15` rejected for the same reasons, with mean F1 `0.0022606965174129354` and max background detections `1`
|
||||
- threshold `0.25` rejected for insufficient positive evidence and positive F1 below gate.
|
||||
|
||||
Open:
|
||||
- The partial YOLOv8s r8 candidate is materially worse than the existing `expanded160e50` positive-AOI baseline and must not be activated.
|
||||
- CPU-only training is too slow for a complete 60-epoch YOLOv8s pass inside a 1-hour interactive command window.
|
||||
- Next pass should either resume/finish long-running training outside the interactive timeout or use GPU/accelerated runtime; only then rerun the same positive, hard-negative, evidence portfolio and promotion gates.
|
||||
|
||||
## Sprint 143 Detection model promotion decision report (2026-07-08)
|
||||
|
||||
Changed:
|
||||
|
||||
Reference in New Issue
Block a user