exp000_baselines — the SD15-Lune zero-shot baseline wall
Question. How much scene information do the frozen SD15-Lune variants carry from their own structured-JSON conditioning, before any adapter exists? Every later adapter claim in this repo reads against these rows.
Design. n=24 held-out tail rows of
AbstractPhil/synthetic-object-relations-json (the json trainer's own dataset;
columns autodetected and printed, never assumed). For each model: generate from
the row's GT prompt column, conditional vs shuffled (derangement — no fixed
points), shared per-index seeds, 30 Euler steps on the SHIFT=2.5-warped sigma
grid (trainer-matched), guidance 6.0, 512px. Judge: CLIP-L (openai
clip-vit-large-patch14) image features fp32, cosine of regenerated vs original
image, after a known-answer self-test (self-cos > 0.999; noise-pair below).
Results (results.json):
| model | cond col | cond | shuffled | gap |
|---|---|---|---|---|
| json_vit (auto latest) | vit_json_prompt | 0.8072 | 0.5568 | +0.2504 |
| json_ckpt2500 | json_prompt | 0.7536 | 0.5437 | +0.2099 |
| base_lune 18765 | json_prompt | 0.6347 | 0.5272 | +0.1075 |
Reading. Both json finetunes roughly double the base UNet's conditional grounding; json_vit is the strongest carrier. The shuffled columns sit near each other (0.53–0.56) — the derangement control behaves.
Honest caveats. Single seed bank (candidate rows); n=24; CLIP-L img-img
cosine has a high floor (noise pairs ≈0.988 at matched resolution), so only the
paired gap is meaningful, never the absolute cosine; generation ran fp16
(inference-only; judge features fp32); guidance 6.0 follows the
before/after reference bed (an earlier prototype bed used 4.0 — not
comparable). Sample images: *_0.png (first row per arm).
Ops note. The judge self-test caught a transformers-5 API change
(get_image_features returning an output object) before any GPU spend —
scorer known-answer self-tests are a standing gate of this line.
GPU cost: ~4 minutes total on an RTX 6000 Ada (all three models, both arms).