Unblock objective Belgian training loop
This commit is contained in:
@@ -92,8 +92,11 @@ recall are repeated, while true negative train tiles are repeated when a
|
||||
regional precision gate or the pure-background gate fails. Calibration, test,
|
||||
background-test and validation AOIs are excluded by their frozen corpus split;
|
||||
the generated evidence records that no protected sample entered training.
|
||||
The orchestrator refuses to start unless the frozen dataset audit is `ok` and
|
||||
contains zero blank/low-variance positive tiles.
|
||||
The orchestrator refuses to start unless every automated frozen-dataset gate
|
||||
passes and the corpus contains zero blank/low-variance positive tiles. The
|
||||
audit status may remain `needs_human_review` while training and objective
|
||||
evaluation continue: final human sign-off is deliberately the last gate and
|
||||
can never be interpreted as model promotion approval in advance.
|
||||
For dated imagery, GRB `BEGINDATUM` and PICC `DATE_CREAT` are compared with the
|
||||
end of the imagery period. A feature created afterward is retained in the
|
||||
audit but excluded from training as `created_after_imagery_period`. UrbIS does
|
||||
|
||||
@@ -11747,3 +11747,41 @@ Deployment evidence:
|
||||
- Repeated the live landing, guest bootstrap, map navigation and quality
|
||||
navigation against `http://192.168.10.150:1202`; the inspected live flow
|
||||
produced no browser-console errors.
|
||||
|
||||
## 2026-07-29 - V36 assessment and objective-loop repair
|
||||
|
||||
- Audited the current Tower evidence rather than relying on the earlier v6
|
||||
checkpoint. The governed v30 rotated-holdout corpus contains 124 samples,
|
||||
21,830 accepted labels, zero temporal-unknown samples, an immutable manifest
|
||||
and no spatial leakage. Its split composition exceeds the frozen regional
|
||||
minima and protected samples remain outside training.
|
||||
- Assessed the completed YOLO11x v36 checkpoint calibration-first on the RTX
|
||||
4080. At the selected threshold `0.10`, aggregate F1 is `0.552`, Brussels F1
|
||||
is `0.662`, Wallonia F1 is `0.532`, and Flanders F1 is `0.265`. The candidate
|
||||
failed Flanders F1/precision/recall and Wallonia precision, so test and
|
||||
background evidence were not opened and the production model was unchanged.
|
||||
- Built checksummed v37 failure-driven sampling from that rejection: 3,900
|
||||
train entries across 94 train AOIs, with extra Flanders recall and
|
||||
Flanders/Wallonia precision evidence. The sampling audit records zero
|
||||
protected samples in training.
|
||||
- Started the inactive v37 YOLO11x fine-tune on Tower CUDA device 0 with
|
||||
deterministic seed `20260806`, `max_det=1000`, AdamW and aerial rotation
|
||||
augmentation. NVIDIA process evidence confirmed GPU execution.
|
||||
- Corrected a loop deadlock: an automatically clean corpus awaiting the final
|
||||
human review has status `needs_human_review`, while the orchestrator formerly
|
||||
required `ok`. Training now accepts that status only when the manifest is
|
||||
immutable, automated failures are empty, spatial leakage is `ok`, and blank
|
||||
positive-tile count is zero. Human sign-off remains a separate mandatory
|
||||
final promotion gate.
|
||||
|
||||
Verified in this pass:
|
||||
|
||||
- `py -3 -m pytest -q backend/tests/test_belgium_training_loop.py backend/tests/test_belgium_training_iteration_assessment.py backend/tests/test_belgium_training_portfolio.py`
|
||||
(`12 passed`).
|
||||
|
||||
Open:
|
||||
|
||||
- Let v37 finish, run calibration-only assessment, and expose protected test
|
||||
and pure-background results only if every regional calibration gate passes.
|
||||
- Continue failure-driven, train-only corpus iterations until all objective
|
||||
gates pass; only then request the queued representative human review.
|
||||
|
||||
@@ -971,6 +971,9 @@ This file now starts with the current implementation status. Older preparation/b
|
||||
- [x] Replace rolling-mosaic training inputs with governed dated 2025 Flanders/Brussels and complete 2023 SPW imagery; retain exact flight-day limitations.
|
||||
- [x] Reject positive labels over blank/no-data imagery and replace partial SPW 2024 coverage with the complete dated SPW 2023 campaign.
|
||||
- [x] Exclude GRB/PICC features created after the corresponding dated imagery period while retaining auditable rejection evidence.
|
||||
- [x] Allow the objective CUDA loop to consume an automatically clean `needs_human_review` corpus while keeping final human sign-off as a separate, mandatory promotion gate.
|
||||
- [x] Evaluate the completed v36 YOLO11x checkpoint calibration-first on the rotated v30 holdouts; reject it before opening test/background because the regional calibration gate failed.
|
||||
- [ ] Finish and assess the leak-free v37 YOLO11x failure-driven CUDA iteration; open test/background evidence only if every calibration gate passes.
|
||||
|
||||
# Sprint 229 - Visual release correction and Tower redeploy
|
||||
|
||||
|
||||
Reference in New Issue
Block a user