Nodes/Realtime LoRA Trainer/DIT Deep Debiaser (FLUX.2 Klein — Verified)
ComfyUI Node

DIT Deep Debiaser (FLUX.2 Klein — Verified)

Control 63 sub-components inside Klein, not just its blocks

By shootthesound·Created 8 months ago·Updated 2 months ago· 538
DIT Deep Debiaser (FLUX.2 Klein — Verified)
  • model
  • model
  • info
  • save_path
presetDefault
save_modelfalse
save_modefull_model
save_filenameauto
save_directory
img_intrue
img_in_str1.00
txt_intrue
txt_in_str1.00
time_intrue
time_in_str1.00
db_mod_imgtrue
db_mod_img_str1.00
db_mod_txttrue
db_mod_txt_str1.00
sb_modtrue
sb_mod_str1.00
final_layertrue
final_layer_str1.00
db0_img_attntrue
db0_img_attn_str1.00
db0_img_mlptrue
db0_img_mlp_str1.00
db0_txt_attntrue
db0_txt_attn_str1.00
db0_txt_mlptrue
db0_txt_mlp_str1.00
db1_img_attntrue
db1_img_attn_str1.00
db1_img_mlptrue
db1_img_mlp_str1.00
db1_txt_attntrue
db1_txt_attn_str1.00
db1_txt_mlptrue
db1_txt_mlp_str1.00
db2_img_attntrue
db2_img_attn_str1.00
db2_img_mlptrue
db2_img_mlp_str1.00
db2_txt_attntrue
db2_txt_attn_str1.00
db2_txt_mlptrue
db2_txt_mlp_str1.00
db3_img_attntrue
db3_img_attn_str1.00
db3_img_mlptrue
db3_img_mlp_str1.00
db3_txt_attntrue
db3_txt_attn_str1.00
db3_txt_mlptrue
db3_txt_mlp_str1.00
db4_img_attntrue
db4_img_attn_str1.00
db4_img_mlptrue
db4_img_mlp_str1.00
db4_txt_attntrue
db4_txt_attn_str1.00
db4_txt_mlptrue
db4_txt_mlp_str1.00
db5_img_attntrue
db5_img_attn_str1.00
db5_img_mlptrue
db5_img_mlp_str1.00
db5_txt_attntrue
db5_txt_attn_str1.00
db5_txt_mlptrue
db5_txt_mlp_str1.00
db6_img_attntrue
db6_img_attn_str1.00
db6_img_mlptrue
db6_img_mlp_str1.00
db6_txt_attntrue
db6_txt_attn_str1.00
db6_txt_mlptrue
db6_txt_mlp_str1.00
db7_img_attntrue
db7_img_attn_str1.00
db7_img_mlptrue
db7_img_mlp_str1.00
db7_txt_attntrue
db7_txt_attn_str1.00
db7_txt_mlptrue
db7_txt_mlp_str1.00
sb0true
sb0_str1.00
sb1true
sb1_str1.00
sb2true
sb2_str1.00
sb3true
sb3_str1.00
sb4true
sb4_str1.00
sb5true
sb5_str1.00
sb6true
sb6_str1.00
sb7true
sb7_str1.00
sb8true
sb8_str1.00
sb9true
sb9_str1.00
sb10true
sb10_str1.00
sb11true
sb11_str1.00
sb12true
sb12_str1.00
sb13true
sb13_str1.00
sb14true
sb14_str1.00
sb15true
sb15_str1.00
sb16true
sb16_str1.00
sb17true
sb17_str1.00
sb18true
sb18_str1.00
sb19true
sb19_str1.00
sb20true
sb20_str1.00
sb21true
sb21_str1.00
sb22true
sb22_str1.00
sb23true
sb23_str1.00

Klein's known weakness is anatomy - extra fingers, a third arm, mutations that get baked in during the first couple of denoising steps and then compound. Block-level LoRA editing doesn't reach that, because the problem lives in the base model's own architecture, not in a LoRA. This node goes one level deeper: instead of toggling whole blocks, it patches individual attention heads, MLPs, and norms inside them.

What "debiasing" means here, and why it goes past block editing

Klein's block-level control (the pack's own selective LoRA loaders) works on a LoRA's contribution to 25 or 57 blocks depending on model size. This node works on the base checkpoint's verified architecture directly - 63 individually addressable sub-components across Klein's 8 double blocks and 24 single blocks, plus 7 global components (img_in, txt_in, time_in, per-modulation controls, final_layer). The pack states this architecture was verified through forward-pass hook tracing, not just inferred from tensor names, which matters because Klein's double and single blocks behave genuinely differently: double blocks (0-7) keep image and text tokens in separate streams with no cross-modal interaction, while single blocks (0-23) concatenate everything into one 8,652-token sequence - which the node's own description names directly as "where the model overwrites your image" when generation goes wrong.

The pack's own author found this useful on release week for exactly the anatomy problem: a Reddit post from the account behind the pack demonstrated that a handful of early single-block joint components (sb0 through sb4, plus sb9) - with sb2 singled out as the highest-leverage - control how much detail preservation happens on an edit, independent of the other 57 unchanged components. Lowering sb2's strength was reported as the main lever for keeping original detail rather than letting Klein regenerate it.

Inputs and outputs that matter

  • model - a Flux 2 Klein checkpoint (4B or 9B; the verified mapping applies to the Klein architecture generally).
  • preset - a large set of pre-built weakening presets (Weaken All Singles 90/85%, Weaken Late Singles, Weaken DB img_mlp/txt_mlp/img_attn/txt_attn 90%, and more) that give you a sane starting point instead of hand-tuning 63 sliders cold.
  • img_in, txt_in, time_in, db_mod_img, db_mod_txt, sb_mod, final_layer - the 7 global controls.
  • db0_img_attn/db0_img_mlp/db0_txt_attn/db0_txt_mlp through db7_* - per-double-block controls, 4 sub-components × 8 blocks = 32.
  • sb0 through sb23 - one control per single block, 24 total. Each of the 63 controls has its own toggle and a -5 to 5 strength slider.
  • save_model / save_mode / save_filename / save_directory (optional) - export the modified model. save_mode gives you full_model (the complete ~18GB checkpoint, load directly as a replacement) or diff_only (just the changes, applied as an additive patch elsewhere).
  • Outputs: model (patched, LoRA-safe - the pack applies changes via ComfyUI's add_patches system, so LoRAs still apply correctly on top), info (a text report of what changed).

Installing it

ComfyUI Manager: search "Realtime LoRA Trainer." Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/ShootTheSound/comfyUI-Realtime-Lora

Restart ComfyUI. The README is explicit that this whole "Deep Debiaser & Inspector" suite works out of the box - no additional installation beyond the pack itself, same as the analyzers and loaders. You do need a Flux 2 Klein checkpoint already downloaded and working, which is a separate, much larger requirement handled entirely outside this node.

Troubleshooting

Set a sub-component to 0.0 and the output turned to noise. This is explicitly called out - the pack's own warning is that any sub-component at 0.0 will likely produce noise or artifacts, and the recommended working range is 0.5-1.5. Zero isn't "off," it's closer to "removed the load-bearing wall."

Trying to fix identity drift on an edit and nothing here helped. This node targets the DiT (the diffusion transformer). Klein's known color-shift-on-edit problem lives partly in the VAE, and text-encoder-side prompt issues live in the Qwen3 encoder - both have their own separate debiaser nodes in this pack. Match the symptom to the right component before assuming the DiT debiaser should fix everything.

Saved a diff_only file and it doesn't load as a standalone model. That's by design - diff_only is meant to be applied as an additive patch on top of the original checkpoint, not loaded on its own. Use full_model if you want something that works as a drop-in replacement checkpoint.

Categorymodel_patches

Inputs (132)

NameTypeDefaultDescription
modelMODELFLUX.2 Klein model to debias
presetCOMBODefault21 options: Custom, Default, Weaken All Singles 95%, Weaken All Singles 90%, Weaken All Singles 85%, Weaken Late Singles 90% (SB12-23), +15
save_modelBOOLEANfalseSave the modified model to disk as .safetensors
save_modeCOMBOfull_modelfull_model: complete ~18GB safetensors (load directly). diff_only: small file with only changed tensors (apply as patch later).
save_filenameSTRINGauto'auto' generates a descriptive name. Otherwise enter a custom name (extension added automatically).
save_directorySTRINGOverride save directory. Empty = use default from config (models/diffusion_models/debiased). Can be absolute or relative to ComfyUI root.
img_inBOOLEANtrueProjects patchified image tokens (ref+noisy combined) from 128 to 4096 dims. Affects ALL image processing. Reference latent enters through here.
img_in_strFLOAT1.00-5–5Strength: img_in (Patch→4096d)
txt_inBOOLEANtrueProjects Qwen3 8B text embeddings from 12288 to 4096 dims. Affects ALL text influence. Weakening this globally reduces prompt strength.
txt_in_strFLOAT1.00-5–5Strength: txt_in (Qwen3→4096d)
time_inBOOLEANtrueTimestep embedding [256]→[4096]. Controls how model responds to denoising stage. Modifying this changes the entire denoising dynamics.
time_in_strFLOAT1.00-5–5Strength: time_in (Timestep)
db_mod_imgBOOLEANtrueadaLN modulation for image stream in double blocks [24576,4096]. Controls how timestep signal scales/shifts img processing.
db_mod_img_strFLOAT1.00-5–5Strength: DB Modulation IMG
db_mod_txtBOOLEANtrueadaLN modulation for text stream in double blocks [24576,4096]. Controls how timestep signal scales/shifts txt processing.
db_mod_txt_strFLOAT1.00-5–5Strength: DB Modulation TXT
sb_modBOOLEANtrueadaLN modulation for ALL single blocks [12288,4096]. This modulates the JOINT cross-modal processing. Very powerful — affects all 24 single blocks.
sb_mod_strFLOAT1.00-5–5Strength: SB Modulation (Joint)
final_layerBOOLEANtrueFinal output projection [128,4096] + adaLN modulation [8192,4096]. Last thing before unpatchify. Weakening this dampens ALL output.
final_layer_strFLOAT1.00-5–5Strength: Final Layer (Output)
db0_img_attnBOOLEANtrueDouble block 0, image attention. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. QKV [12288,4096] computes self-attention over image tokens only.
db0_img_attn_strFLOAT1.00-5–5Strength: DB0 IMG Attention
db0_img_mlpBOOLEANtrueDouble block 0, image mlp. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. Up [24576,4096] + down [4096,12288] feed-forward on image features.
db0_img_mlp_strFLOAT1.00-5–5Strength: DB0 IMG MLP
db0_txt_attnBOOLEANtrueDouble block 0, text attention. SEPARATE stream — processes text tokens [512] independently from image. QKV [12288,4096] computes self-attention over text tokens only.
db0_txt_attn_strFLOAT1.00-5–5Strength: DB0 TXT Attention
db0_txt_mlpBOOLEANtrueDouble block 0, text mlp. SEPARATE stream — processes text tokens [512] independently from image. Up [24576,4096] + down [4096,12288] feed-forward on text features.
db0_txt_mlp_strFLOAT1.00-5–5Strength: DB0 TXT MLP
db1_img_attnBOOLEANtrueDouble block 1, image attention. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. QKV [12288,4096] computes self-attention over image tokens only.
db1_img_attn_strFLOAT1.00-5–5Strength: DB1 IMG Attention
db1_img_mlpBOOLEANtrueDouble block 1, image mlp. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. Up [24576,4096] + down [4096,12288] feed-forward on image features.
db1_img_mlp_strFLOAT1.00-5–5Strength: DB1 IMG MLP
db1_txt_attnBOOLEANtrueDouble block 1, text attention. SEPARATE stream — processes text tokens [512] independently from image. QKV [12288,4096] computes self-attention over text tokens only.
db1_txt_attn_strFLOAT1.00-5–5Strength: DB1 TXT Attention
db1_txt_mlpBOOLEANtrueDouble block 1, text mlp. SEPARATE stream — processes text tokens [512] independently from image. Up [24576,4096] + down [4096,12288] feed-forward on text features.
db1_txt_mlp_strFLOAT1.00-5–5Strength: DB1 TXT MLP
db2_img_attnBOOLEANtrueDouble block 2, image attention. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. QKV [12288,4096] computes self-attention over image tokens only.
db2_img_attn_strFLOAT1.00-5–5Strength: DB2 IMG Attention
db2_img_mlpBOOLEANtrueDouble block 2, image mlp. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. Up [24576,4096] + down [4096,12288] feed-forward on image features.
db2_img_mlp_strFLOAT1.00-5–5Strength: DB2 IMG MLP
db2_txt_attnBOOLEANtrueDouble block 2, text attention. SEPARATE stream — processes text tokens [512] independently from image. QKV [12288,4096] computes self-attention over text tokens only.
db2_txt_attn_strFLOAT1.00-5–5Strength: DB2 TXT Attention
db2_txt_mlpBOOLEANtrueDouble block 2, text mlp. SEPARATE stream — processes text tokens [512] independently from image. Up [24576,4096] + down [4096,12288] feed-forward on text features.
db2_txt_mlp_strFLOAT1.00-5–5Strength: DB2 TXT MLP
db3_img_attnBOOLEANtrueDouble block 3, image attention. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. QKV [12288,4096] computes self-attention over image tokens only.
db3_img_attn_strFLOAT1.00-5–5Strength: DB3 IMG Attention
db3_img_mlpBOOLEANtrueDouble block 3, image mlp. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. Up [24576,4096] + down [4096,12288] feed-forward on image features.
db3_img_mlp_strFLOAT1.00-5–5Strength: DB3 IMG MLP
db3_txt_attnBOOLEANtrueDouble block 3, text attention. SEPARATE stream — processes text tokens [512] independently from image. QKV [12288,4096] computes self-attention over text tokens only.
db3_txt_attn_strFLOAT1.00-5–5Strength: DB3 TXT Attention
db3_txt_mlpBOOLEANtrueDouble block 3, text mlp. SEPARATE stream — processes text tokens [512] independently from image. Up [24576,4096] + down [4096,12288] feed-forward on text features.
db3_txt_mlp_strFLOAT1.00-5–5Strength: DB3 TXT MLP
db4_img_attnBOOLEANtrueDouble block 4, image attention. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. QKV [12288,4096] computes self-attention over image tokens only.
db4_img_attn_strFLOAT1.00-5–5Strength: DB4 IMG Attention
db4_img_mlpBOOLEANtrueDouble block 4, image mlp. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. Up [24576,4096] + down [4096,12288] feed-forward on image features.
db4_img_mlp_strFLOAT1.00-5–5Strength: DB4 IMG MLP
db4_txt_attnBOOLEANtrueDouble block 4, text attention. SEPARATE stream — processes text tokens [512] independently from image. QKV [12288,4096] computes self-attention over text tokens only.
db4_txt_attn_strFLOAT1.00-5–5Strength: DB4 TXT Attention
db4_txt_mlpBOOLEANtrueDouble block 4, text mlp. SEPARATE stream — processes text tokens [512] independently from image. Up [24576,4096] + down [4096,12288] feed-forward on text features.
db4_txt_mlp_strFLOAT1.00-5–5Strength: DB4 TXT MLP
db5_img_attnBOOLEANtrueDouble block 5, image attention. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. QKV [12288,4096] computes self-attention over image tokens only.
db5_img_attn_strFLOAT1.00-5–5Strength: DB5 IMG Attention
db5_img_mlpBOOLEANtrueDouble block 5, image mlp. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. Up [24576,4096] + down [4096,12288] feed-forward on image features.
db5_img_mlp_strFLOAT1.00-5–5Strength: DB5 IMG MLP
db5_txt_attnBOOLEANtrueDouble block 5, text attention. SEPARATE stream — processes text tokens [512] independently from image. QKV [12288,4096] computes self-attention over text tokens only.
db5_txt_attn_strFLOAT1.00-5–5Strength: DB5 TXT Attention
db5_txt_mlpBOOLEANtrueDouble block 5, text mlp. SEPARATE stream — processes text tokens [512] independently from image. Up [24576,4096] + down [4096,12288] feed-forward on text features.
db5_txt_mlp_strFLOAT1.00-5–5Strength: DB5 TXT MLP
db6_img_attnBOOLEANtrueDouble block 6, image attention. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. QKV [12288,4096] computes self-attention over image tokens only.
db6_img_attn_strFLOAT1.00-5–5Strength: DB6 IMG Attention
db6_img_mlpBOOLEANtrueDouble block 6, image mlp. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. Up [24576,4096] + down [4096,12288] feed-forward on image features.
db6_img_mlp_strFLOAT1.00-5–5Strength: DB6 IMG MLP
db6_txt_attnBOOLEANtrueDouble block 6, text attention. SEPARATE stream — processes text tokens [512] independently from image. QKV [12288,4096] computes self-attention over text tokens only.
db6_txt_attn_strFLOAT1.00-5–5Strength: DB6 TXT Attention
db6_txt_mlpBOOLEANtrueDouble block 6, text mlp. SEPARATE stream — processes text tokens [512] independently from image. Up [24576,4096] + down [4096,12288] feed-forward on text features.
db6_txt_mlp_strFLOAT1.00-5–5Strength: DB6 TXT MLP
db7_img_attnBOOLEANtrueDouble block 7, image attention. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. QKV [12288,4096] computes self-attention over image tokens only.
db7_img_attn_strFLOAT1.00-5–5Strength: DB7 IMG Attention
db7_img_mlpBOOLEANtrueDouble block 7, image mlp. SEPARATE stream — processes ref+noisy tokens [8140] independently from text. Up [24576,4096] + down [4096,12288] feed-forward on image features.
db7_img_mlp_strFLOAT1.00-5–5Strength: DB7 IMG MLP
db7_txt_attnBOOLEANtrueDouble block 7, text attention. SEPARATE stream — processes text tokens [512] independently from image. QKV [12288,4096] computes self-attention over text tokens only.
db7_txt_attn_strFLOAT1.00-5–5Strength: DB7 TXT Attention
db7_txt_mlpBOOLEANtrueDouble block 7, text mlp. SEPARATE stream — processes text tokens [512] independently from image. Up [24576,4096] + down [4096,12288] feed-forward on text features.
db7_txt_mlp_strFLOAT1.00-5–5Strength: DB7 TXT MLP
sb0BOOLEANtrueSingle block 0 (early): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb0_strFLOAT1.00-5–5Strength: SB0 Joint (early)
sb1BOOLEANtrueSingle block 1 (early): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb1_strFLOAT1.00-5–5Strength: SB1 Joint (early)
sb2BOOLEANtrueSingle block 2 (early): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb2_strFLOAT1.00-5–5Strength: SB2 Joint (early)
sb3BOOLEANtrueSingle block 3 (early): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb3_strFLOAT1.00-5–5Strength: SB3 Joint (early)
sb4BOOLEANtrueSingle block 4 (early): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb4_strFLOAT1.00-5–5Strength: SB4 Joint (early)
sb5BOOLEANtrueSingle block 5 (early): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb5_strFLOAT1.00-5–5Strength: SB5 Joint (early)
sb6BOOLEANtrueSingle block 6 (early): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb6_strFLOAT1.00-5–5Strength: SB6 Joint (early)
sb7BOOLEANtrueSingle block 7 (early): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb7_strFLOAT1.00-5–5Strength: SB7 Joint (early)
sb8BOOLEANtrueSingle block 8 (mid): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb8_strFLOAT1.00-5–5Strength: SB8 Joint (mid)
sb9BOOLEANtrueSingle block 9 (mid): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb9_strFLOAT1.00-5–5Strength: SB9 Joint (mid)
sb10BOOLEANtrueSingle block 10 (mid): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb10_strFLOAT1.00-5–5Strength: SB10 Joint (mid)
sb11BOOLEANtrueSingle block 11 (mid): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb11_strFLOAT1.00-5–5Strength: SB11 Joint (mid)
sb12BOOLEANtrueSingle block 12 (mid): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb12_strFLOAT1.00-5–5Strength: SB12 Joint (mid)
sb13BOOLEANtrueSingle block 13 (mid): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb13_strFLOAT1.00-5–5Strength: SB13 Joint (mid)
sb14BOOLEANtrueSingle block 14 (mid): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb14_strFLOAT1.00-5–5Strength: SB14 Joint (mid)
sb15BOOLEANtrueSingle block 15 (mid): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb15_strFLOAT1.00-5–5Strength: SB15 Joint (mid)
sb16BOOLEANtrueSingle block 16 (late): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb16_strFLOAT1.00-5–5Strength: SB16 Joint (late)
sb17BOOLEANtrueSingle block 17 (late): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb17_strFLOAT1.00-5–5Strength: SB17 Joint (late)
sb18BOOLEANtrueSingle block 18 (late): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb18_strFLOAT1.00-5–5Strength: SB18 Joint (late)
sb19BOOLEANtrueSingle block 19 (late): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb19_strFLOAT1.00-5–5Strength: SB19 Joint (late)
sb20BOOLEANtrueSingle block 20 (late): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb20_strFLOAT1.00-5–5Strength: SB20 Joint (late)
sb21BOOLEANtrueSingle block 21 (late): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb21_strFLOAT1.00-5–5Strength: SB21 Joint (late)
sb22BOOLEANtrueSingle block 22 (late): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb22_strFLOAT1.00-5–5Strength: SB22 Joint (late)
sb23BOOLEANtrueSingle block 23 (late): Processes the CONCATENATED sequence [8140 img + 512 txt = 8652 tokens]. THIS is where text tokens attend to image tokens and vice versa. linear1 [36864,4096] packs QKV+MLP gate (cannot split attention from MLP at weight level). linear2 [4096,16384] is the output projection.
sb23_strFLOAT1.00-5–5Strength: SB23 Joint (late)

Outputs (3)

NameTypeDescription
modelMODELModel with architecture-verified modifications (LoRA patches preserved)
infoSTRINGSummary of all modifications applied
save_pathSTRINGPath where model was saved (empty if save_model=False)