Commit Graph

11 Commits

Author SHA1 Message Date
Vladimir Mandic 8a85178f93 logical-vs-physical param count
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 12:03:37 +02:00
Vladimir Mandic fefa1f210d fix sdnq svd
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 10:12:17 +02:00
Vladimir Mandic 1f24513507 optimize sdnq quant-on-load and add platform stats
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-07 11:43:46 +02:00
CalamitousFelicitousness 5257b5cba9 fix(ideogram4): scope qwen3-vl forward patch to the enhance window
The prompt-enhancer grafts an lm_head onto the shared Qwen3-VL body, so its
forward needs a device guard the stock forward lacks. Applying that patch
globally at load left it active for the whole process, including unrelated
Qwen3-VL users such as the VQA captioner.

Apply the hijack around the enhancer generate call and restore the stock
forward in a finally, so the patch affects only the ideogram enhancer.
2026-06-07 00:30:45 +01:00
Vladimir Mandic 78f88ef571 add ideogram4
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-05 20:00:49 +02:00
Vladimir Mandic 9ade767836 update ideogram4 requirements and global skills update
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-05 07:54:03 +02:00
CalamitousFelicitousness 63fd441a14 refactor(ideogram4): register pipeline and load via from_pretrained
Register the subclass with generic.set_pipeline and build it with
from_pretrained, passing the SDNQ transformers and shared text encoder
while the vae, scheduler, and tokenizer load from the repo.
2026-06-05 02:10:00 +01:00
CalamitousFelicitousness 92e1cb9927 fix(ideogram4): pass JSON captions through unmangled
The dynamic-prompt brace processor in apply_styles_to_prompts strips the
{} and [] out of a JSON caption, leaving non-JSON that trips the model's
weight-baked safety placeholder. Let a model opt out of style and wildcard
processing via keep_prompts and set it for Ideogram4, then normalize the
prompt in encode_prompt: valid JSON to the compact training form, plain
text wrapped into a minimal caption so basic prompts still generate.
2026-06-05 01:54:18 +01:00
CalamitousFelicitousness 5c1a52ee4c perf(ideogram4): keep both transformers resident when they fit
Each denoise step runs both transformers, so balanced offload ping-pongs
them across PCIe every step. When both fit gpu_memory * max watermark, set
offload_never so the per-step pre-sweep skips them and they stay resident;
otherwise the normal offload path is kept, so smaller GPUs and bf16 fall
back to offloading unchanged.
2026-06-05 01:54:18 +01:00
CalamitousFelicitousness bcebb6b81b refactor(ideogram4): adopt diffusers-native pipeline
diffusers shipped first-party Ideogram 4 (transformer + pipeline) in
9b0818cf, so drop the in-tree port and keep only SD.Next integration glue.

Bump the diffusers pin to 9b0818cf and build diffusers' Ideogram4Pipeline
from a thin loader with per-transformer SDNQ. A small subclass keeps the
text encoder resident for the Qwen3-VL tap under balanced offload, and the
step callback denormalizes the preview latent from vae.bn before unpatchify.
Deletes the ported transformer, pipeline, scheduler, text encoder, and
latent-norm constants.
2026-06-05 01:54:18 +01:00
CalamitousFelicitousness 2f3d0e719d feat(ideogram4): add Ideogram 4 model support
Diffusers-native port of the 9.3B flow-matching DiT: dual-transformer asymmetric CFG, a 13-layer Qwen3-VL tap encoder deduped with VQA and prompt-enhance, the Flux.2 VAE, and a logit-normal schedule. Loads a published bf16 repo with SDNQ at load.
2026-06-05 01:54:18 +01:00