Disable YOLO training plot side effects
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled

This commit is contained in:
Codex
2026-07-07 05:25:47 +02:00
parent 2c9002785e
commit 3524ee7fb2
4 changed files with 6 additions and 0 deletions
+1
View File
@@ -11,6 +11,7 @@
- Added `scripts/export_operator_yolo_dataset.py` to convert prepared operator orthophoto/GRB sample pairs into a standard local YOLO detection dataset with `dataset.yaml`, train/validation image folders, label folders and `yolo_dataset_summary.json`.
- Added `scripts/train_operator_yolo_detector.sh` as an operator-only training smoke wrapper that uses an existing local base `.pt` model and writes a trained local `.pt` artifact plus `training_summary.json`.
- Disabled Ultralytics plot generation in the training wrapper so the smoke path avoids auxiliary plot/font network behavior.
- Added readiness coverage for the exporter Python compile check and training wrapper shell syntax.
- Added regression coverage in `backend/tests/test_sprint129_operator_yolo_training_dataset.py`.
- Updated operator documentation for dataset export, training smoke usage and the requirement to benchmark any trained model through the existing real-data Detection + QA matrix before treating it as useful.
@@ -63,6 +63,7 @@ def test_operator_yolo_train_smoke_script_contract() -> None:
assert "dataset.yaml" in script
assert "from ultralytics import YOLO" in script
assert "model.train" in script
assert "plots=False" in script
assert "training_summary.json" in script
assert "download" not in script.lower()
assert "fixture_mode" not in script
+3
View File
@@ -21,6 +21,9 @@ Tested:
- `python scripts\export_operator_yolo_dataset.py --help` passed without requiring local GIS dependencies.
- `python -m py_compile scripts\export_operator_yolo_dataset.py` passed.
- `bash -n scripts/train_operator_yolo_detector.sh` passed.
- Live Tower export passed: `/app/storage/operator-data/yolo-building-dataset` contains 3 images and 1427 labels from the current Geel/Mol/Turnhout samples.
- Live Tower training smoke passed with the existing `/app/models/yolov8n.pt` base model and wrote `/app/models/geointel-building-yolov8n-smoke.pt`.
- The first live smoke showed Ultralytics fetching an auxiliary plot font. The wrapper now sets `plots=False` so the operator smoke path does not invoke plot/font network behavior.
Open:
- Run the exporter and training smoke inside the AI-enabled Tower runtime, then benchmark the trained artifact through the existing multi-sample Detection + QA matrix.
+1
View File
@@ -106,6 +106,7 @@ model.train(
name=run_name,
exist_ok=True,
pretrained=True,
plots=False,
verbose=True,
)