Replaces "borrow a template + eyeball renders" with a staged pipeline for setting the 12 layer-gain values, cheapest/most-targeted first: - Stage 0 (done, local): extract_model_prior.py reads Krea 2's own learned per-tap weighting (txtfusion.projector [1,12]) from the checkpoint; compare_to_model_prior.py scores each shipped table against it. Finding: the model leans hardest on taps 7>9>4>10>8 but the tables spike 8>10>7 (rank-corr only +0.58..+0.64) - the borrowed template does not track how the model uses the taps. model_prior.json records the values. - Stage 1 (harness ready, no render): probe_node/ is a tiny ComfyUI node that saves per-tap conditioning signatures; probe_selectivity.py does a variance decomposition (eta^2) of each tap against palette/structure/ texture/lighting over a controlled reference set; generate_probe_graphs.py builds the encode-only graphs. The selectivity math passes a synthetic self-test (recovers an injected tap->attribute map exactly). Running it for real needs V10 + the probe node installed on a box, plus controlled image sets - it renders nothing (text-encoder passes only). - Stages 2-3 (documented, need a V10 box): metric-scored render validation, then black-box optimization of the 12-gain vector against a stated objective, held-out validated. README section 4 rewritten as the methodology. All scripts run/validate locally; tooling stays under docs/ (excluded from registry packs).
12 lines
973 B
JSON
12 lines
973 B
JSON
{
|
|
"description": "Krea 2's own learned per-tap weighting over the 12 text-layer taps, extracted from the diffusion model. A model-intrinsic prior for the layers gain tables (Stage 0 of the derivation methodology in README section 4).",
|
|
"source_tensor": "txtfusion.projector.weight",
|
|
"source_file": "models/diffusion_models/krea2/krea2_turbo_bf16.safetensors (on the render box \\\\olga\\d\\ComfyUI)",
|
|
"shape": [1, 12],
|
|
"dtype": "F32",
|
|
"extracted": "2026-07-03",
|
|
"reextract": "python docs/deepstack-layers/extract_model_prior.py --model <path-to-krea2-*.safetensors>",
|
|
"caveat": "The projector combines taps AFTER per-tap layerwise/refiner blocks; the node's gains act on the raw tap delta BEFORE that processing. So this is a prior and sanity check on relative tap importance, not a literal gain table. The node->pixel path is nonlinear.",
|
|
"weights": [-0.0544, -0.1611, 0.3711, 0.5039, 0.707, 0.3945, 0.3984, -1.4375, -0.5117, -0.8906, -0.6094, 0.1128]
|
|
}
|