Repository navigation
#263 control arm: three GSV-only fine-tunes scored on 14 splits - #271
jonfroehlich wants to merge 5 commits into
Conversation
…L_PREFIX in the #82 scorer Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ontrols' two missing splits Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… rows, doc Three control fine-tunes (released weights + 2,000 GSV steps, seeds 1-3) and the released checkpoint scored on all 14 reviewed splits with the #82 scorer; the #82 controls topped up on bayonne/juneau as a same-seed rerun read. control_arm_263.py reads the committed caches (seed-mean and per-seed paired pano bootstrap, seed spread, unbiased subset, Laurens rig effect, determinism check). Compute ledger: 11 klone rows, 37.29 GPU-h, $0, from a committed sacct -D dump. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Independent review of #271 (head b94006f)Verdict: approve once the M items are fixed. Nothing blocking. The numbers are right. Every number in What I verified (no finding)
Findings
VerdictApprove after the M fixes (1-6). Nothing is blocking. The statistics, pooling, unbiased subset, max-F1, threshold handling, determinism check, caches, ledger and scorer change are all correct and reproducible. The fixes are wording and one small commit of training logs. Finding 4 needs either a rewording or about 10 GPU-minutes. I did not modify or merge the branch. 🤖 Generated with Claude Code — Opus 5.5, claude-opus-5-5 |
… rule, training logs M1 0.55 seed mean shown with each seed's interval (seed 1 is above released); M2 rig-gap widening attributed to the GoPro arm, GSV arm flat at max-F1; M3 same-seed rerun listed with its dataset/commit/GPU/resume confounds; M4 unmeasured cross-GPU bound removed; M5 the six training logs committed under analysis_out/control_arm_263/trainlogs/ in #82's layout; M6 reading rule marked proposed. N7-N10 wording and tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review fixes applied (b83a4a7)CI passes on b83a4a7 (checks, pytest 3.10, pytest 3.12). These fixes respond to the review at #271 (comment). No number changed. I updated the doc, the
Not merged. 🤖 Generated with Claude Code — Opus 5.5, claude-opus-5-5 |
Re-review of #271 at b83a4a7Verdict: ready to merge. All eleven findings from the first review are fixed. I checked each fix against the branch, Checks run on b83a4a7
Per-finding status
Anything the fixes brokeNothing found.
Verdict: ready to merge. N12 is a one-word nit and can go in with the merge or be left as is. Nothing on the branch was modified, and the branch was not merged. 🤖 Generated with Claude Code — Opus 5.5, claude-opus-5-5 |
Track 3.4 of #263: the control arm, scored. The released weights were fine-tuned on GSV only for 2,000 steps at global batch 16, with three seeds (
stage_two/run_finetune_control.slurm, already onmain). The three checkpoints and the released one were scored on all 14 reviewed splits with the #82 scorer. Full write-up:docs/control_arm_263.md.Result
The extra GSV steps do not improve the released model off GSV, and they cost about 0.01 F1 on the US splits at 0.30. Each cell below is the three-seed mean minus released (paired pano bootstrap, 95%), with each seed's own contrast beside it. The seed-mean interval resamples panos only and leaves out seed variance. At 0.55 the seeds disagree in sign, so the 0.55 seed mean is not a result of the recipe.
Not run: lyon (no reviewed GT; review open on #159). Everything else in the 14 was run. The cross-GPU-type scoring difference was not measured; see Caveats in the doc.
What is in this PR
scripts/analysis/control263_score.slurm: scoring launcher, a thin wrapper aroundaug82_score_ckpts.sh. That script gains aLABEL_PREFIXvariable whose defaultaug82_leaves every Training augmentation is a single horizontal flip: measure downscale / photometric jitter as a transfer lever (downstream of #84) #82 call unchanged.scripts/analysis/control_arm_263.py: the read. It importsaug_finetune_82.py's statistics and adds per-seed and 3-seed-mean contrasts, seed spread, pools, the unbiased subset, the Training augmentation is a single horizontal flip: measure downscale / photometric jitter as a transfer lever (downstream of #84) #82-controls rerun read and a determinism check.--checkpasses.analysis_out/control_arm_263/:results.json/results.mdtrainlogs/: the six training jobs'.out,.errheads and progress lines, plus checkpoint sha256s, in Training augmentation is a single horizontal flip: measure downscale / photometric jitter as a transfer lever (downstream of #84) #82's layoutdocs/control_arm_263.md: commands, inputs and hashes, numbers, caveats, gaps.analysis_out/compute_log.jsonlfrom the committedsacct -Ddumpdocs/data/compute/sacct_klone_2026-10-22_control263.txt, all onckpt-all, $0. Training took 34.20 GPU-h, including 3.48 GPU-h for the three runs that failed on node g3110 (ECC). Scoring took 3.10 GPU-h. Section added todocs/compute_cost.md;tests/test_slurm_usage.pyextended.tests/test_control_arm_263.py.The checkpoints are only on klone (
/gscratch/makelab/jonf/control263/, sha256 in the doc). Everything here re-derives on CPU from the committed caches.Refs #263, #82, #159.
🤖 Generated with Claude Code — Opus 5.5, claude-opus-5-5