Skip to content

Detection tags frozenval UI#405

Open
Varfalamei wants to merge 24 commits into
features/UI-v2-merge-add-e2e-template-claude-skillfrom
detection-tags-frozenval-ui
Open

Detection tags frozenval UI#405
Varfalamei wants to merge 24 commits into
features/UI-v2-merge-add-e2e-template-claude-skillfrom
detection-tags-frozenval-ui

Conversation

@Varfalamei

Copy link
Copy Markdown
Contributor

No description provided.

Varfalamei and others added 6 commits July 7, 2026 10:13
Fixed val (correct A/B metric comparison):
- add_request.py --subset pins a batch to train/val; load_batch emits image__subset_hint;
  split honors it (random split only fills un-pinned images). Load base-val + night-val up
  front so val is frozen; add night-train only for the retrain.

FiftyOne (ported from e2e_template/image_detection):
- stage=fiftyone: download_images + publish GT and per-model predictions
  (predictions_model_a=baseline, predictions_model_b=retrained; slot by sorted model id);
  tag/subset as sample fields. mongo added to docker-compose; datapipe-ml[fiftyone]+fiftyone dep.

Tag dimension: numeric tag_id (deterministic via config.TAG_IDS) + tag_name + tag_description;
image__tag/tag_metrics key on tag_id, join tag for readable name.

Bug fixes:
- darken=NaN: a NULL numeric column arrives as NaN when several requests load in one batch;
  pd.isna guards so base batches are not darkened with gamma=NaN into garbage.
- download_images: don't pass S3 storage options to fsspec.open of a public HTTP URL.

Defaults/robustness: DB_SCHEMA defaults to public; standard ports.

SKILL.md: two-part checkpoint flow (demo-only), fixed-val rationale, pre-flight port/schema
checks, always-print-full-table rule, service-watch guidance, troubleshooting
(polars-lts on pre-AVX2, count-metrics ordering, double-train, port/tunnel/proxy pitfalls);
snapshot/rehearse as inline pg_dump/psql (no committed demo scripts).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Move all COCO/demo-only code (constants, download+cache, gamma darkening) into a dedicated
detection/coco_demo.py (CocoDemoSource + darken). steps.load_batch is now source-agnostic
plumbing: it pulls (bytes, boxes, labels) from the source and lays them into the pipeline
tables. For real data you replace one file (coco_demo.py); steps.py/app.py are untouched.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…nto add-e2e-template-claude-skill

# Conflicts:
#	.claude/skills/setup-detection-tags/SKILL.md
Add Claude Code skills for the example pipelines
…d+verify; training triggered from the front)
@Varfalamei Varfalamei self-assigned this Jul 8, 2026
Varfalamei and others added 18 commits July 8, 2026 18:19
…plate-claude-skill' into detection-tags-frozenval-ui

# Conflicts:
#	.claude/skills/setup-detection-tags/SKILL.md
#	examples/detection_tags/README.md
#	examples/detection_tags/detection/data.py
#	examples/detection_tags/detection/steps.py
#	examples/detection_tags/scripts/add_request.py
…plate-claude-skill' into detection-tags-frozenval-ui
…er (sorted filenames + baked shuffle) so cache == download selection
…etrics_* tables, FiftyOne via compose, night/val generalization caveat
…mbers, build_cache + freeze-rerun troubleshooting
…nv/weights) to localize cross-machine divergence
…A on both val sets, +0.09..+0.13), freeze debounce 1s for fast part-2, reference numbers
…ts sync the lock unmodified — stops cross-machine lib drift (ultralytics 8.4.90 vs 8.4.89)
…k) + fingerprint scans DATAPIPE_TAGS_DIR too
…lly on any machine in ~2min (images re-derived byte-identically from cache); live training stays per-GPU
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants