Skip to content

Refuse a weights root that another model's campaign already uses - #18

Merged
EHxuban11 merged 1 commit into
rf100vl-harnessfrom
weights-root-one-model
Nov 1, 2026
Merged

EHxuban11 merged 1 commit into
rf100vl-harnessfrom
weights-root-one-model

Conversation

@EHxuban11

Copy link
Copy Markdown
Contributor

What: rf100vl-campaign refuses a --weights-root that another model's campaign already uses, and never overwrites another model's stats.json.
Why: <root>/<dataset>/stats.json is not namespaced by model. On 2026-10-31 yolov9t and rfdetr-n ran on one root; the later finisher overwrote the other's stats, two yolov9t files were lost, and the yolov9t report printed recipe sha ?. No error was raised.

  • claim_weights_root(): writes <root>/.campaign-model on first use; a different model key is refused with a one-line fix. Roots from before this change are checked against their existing stats.json model keys.
  • The worker refuses to overwrite a stats.json that belongs to another model.
  • Runbook: one --weights-root per model.

Check: the three new tests in tests/test_campaign_guards.py.
Not verified: not rerun on a GPU box; the change only touches root bookkeeping before training starts and the stats write after it ends.
Opened by an agent.

Code provenance

Original code written for this PR; no third-party code ported, adapted, or introduced; no GPL/AGPL/LGPL/non-commercial/unknown-license material involved.

@EHxuban11
EHxuban11 merged commit 9811306 into rf100vl-harness Nov 1, 2026
1 check passed
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.

1 participant