Commit Graph

13617 Commits

Author SHA1 Message Date
Vladimir Mandic 0834ea41e9 update skills
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 08:35:47 +02:00
Vladimir Mandic 3859530214 refactor for consistent folders usage for all models
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 08:24:21 +02:00
Vladimir Mandic 4b64c1111e add ideogram pre-quant
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 08:17:46 +02:00
CalamitousFelicitousness 28c66c9812 fix(samplers): apply flow shift to non-flowmatch ER-SDE presets 2026-06-07 22:08:16 +01:00
Disty0 03fa90ff35 Add warning for and skip post-load quant of pre-quants 2026-06-07 18:02:28 +03:00
Disty0 f0c93defb8 SDNQ add RuntimeError for post-load quantizing a pre-quant 2026-06-07 17:51:48 +03:00
Disty0 809f24aa13 Remove unset_config_on_save 2026-06-07 17:28:17 +03:00
Disty0 1247f871d3 SDNQ fix quantization_config being lost on pre-quants 2026-06-07 17:02:08 +03:00
Disty0 e5249c7a4b Cleanup SDNQ 2026-06-07 16:14:52 +03: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
Vladimir Mandic 2c878cff15 Merge pull request #4897 from vladmandic/fix/api-sampler-resolution
Fix/api sampler resolution
2026-06-07 10:00:40 +02:00
CalamitousFelicitousness 08b843401e fix(ui): correct schedulers_sigma option choices to match backend
schedulers_sigma is a hidden OptionInfo registration; the visible control is the sampler-accordion dropdown. Its choices still listed the k-diffusion set, including polyexponential (which the diffusers backend does not support) and omitting betas, lambdas, and flowmatch. Align the list with what sd_samplers_diffusers accepts and the dropdown offers. The list feeds warn-only validation, so this clears a dead value and spurious debug logs, not user-facing behavior.
2026-06-07 07:35:56 +01:00
CalamitousFelicitousness 72b6691fd6 fix(api): default img2img sampler_name to Default like txt2img
img2img still defaulted sampler_name to UniPC after the txt2img default was switched to Default in 7fbac675f, so an img2img request that omits the sampler forced UniPC instead of keeping the model's own scheduler. The control endpoint already used Default; align img2img with both.
2026-06-07 06:57:07 +01:00
CalamitousFelicitousness 0c0d455c11 fix(api): resolve sampler names case-insensitively to canonical form
validate_sampler_name only matched the exact, case-sensitive name, so near-miss client names such as lowercase variants were rejected while an omitted name silently used the model scheduler via the Default sentinel. Fall back to find_sampler and return the canonical name so create_sampler applies the intended sampler; unknown names still return 404. Add an API test covering case-insensitive resolution and rejection of unknown names.
2026-06-07 06:57:07 +01:00
CalamitousFelicitousness 338cbbfb28 chore: bump wiki submodule pointer 2026-06-07 05:55:07 +01:00
CalamitousFelicitousness f669283fed fix(ui): apply hints to radio and checkboxgroup titles
Gradio renders radio and checkboxgroup titles as a bare block-info span
outside any label, so the hint scan missed them and those titles never
received a tooltip or localization. Add the block-info selector to the
element scan, deduplicating against the nodes already collected.

Rebuild the core bundle.
2026-06-07 05:50:28 +01:00
CalamitousFelicitousness 7990a8b4f2 docs(i18n): add hint for model types not to quantize
Document the space or comma separated model-type list that quantization
skips, with the family codes shown in the load log and an example.
Mark it as requiring a model reload, matching the other quantization
settings, since the value is read only during model load.
2026-06-07 05:49:59 +01:00
CalamitousFelicitousness f420138c07 docs(i18n): flag offload always/never lists as needing model reload
They also take effect on a watermark change, not only on model reload,
but the loophole is not worth documenting in the hint.
2026-06-07 05:11:48 +01:00
CalamitousFelicitousness 38a5990c54 docs(i18n): flag quant and offload settings that need model reload or server restart 2026-06-07 04:39:34 +01:00
CalamitousFelicitousness 7297693cef fix(i18n): point localize script at test/localize.mjs 2026-06-07 03:37:51 +01:00
CalamitousFelicitousness 91a4e9cef4 docs(i18n): add hints for model offloading settings 2026-06-07 02:57:00 +01:00
CalamitousFelicitousness 5105e0ad87 docs(i18n): add hints for SDNQ quantization settings 2026-06-07 02:57:00 +01:00
CalamitousFelicitousness c4d8576063 docs(ideogram4): clarify prompt handling in reference description
Requires structured JSON-caption prompts; prompt-enhance (on by default)
rewrites a plain prompt into one.
2026-06-07 00:37:21 +01:00
CalamitousFelicitousness 8c305fd68c refactor(processing): drop dead model-level keep_prompts check
Nothing sets keep_prompts on the model, so the guard never affected behavior.
JSON-caption prompts are preserved by the JSON short-circuit in
apply_curly_braces_to_prompt; the per-process p.keep_prompts path
(detailer, mixture-of-diffusers) is unchanged.
2026-06-07 00:37:15 +01: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
CalamitousFelicitousness f83c1bc731 refactor(sdnq): clean up dynamic loss threshold slider 2026-06-07 00:18:07 +01:00
Vladimir Mandic 09fd3fa3b1 update docs
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-06 08:58:59 +02:00
Vladimir Mandic 08ee9336bf update changelog
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-06 08:34:15 +02:00
Vladimir Mandic 257f33b7a3 Merge pull request #4892 from vladmandic/fix/dit-override-arch-mismatch
fix(native-loader): handle arch-mismatched UNET override on cold start
2026-06-06 08:25:48 +02:00
CalamitousFelicitousness e12ae85d06 test(native-loader): add shape-mismatch unit and override self-heal API test 2026-06-06 01:08:31 +01:00
CalamitousFelicitousness 5f50117bf9 docs(native-loader): document shape-mismatch override behavior 2026-06-05 20:08:43 +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 a9ca59bef0 update all model sizes
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-05 08:48:36 +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
Vladimir Mandic 9c6d6907ea fix hfinfo
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-05 07:24:34 +02:00
Vladimir Mandic 928e04aff8 Merge pull request #4893 from vladmandic/feat/ideogram4
feat/Ideogram 4 support
2026-06-05 07:24:21 +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 4866d2c8f3 fix(ideogram4): offload-safe encode, step progress, live preview
- move the text encoder on-device for the tapped forward (bypasses the offload hook)
- wrap the denoise loop in the diffusers progress bar
- live preview through the shared TAE FLUX.2 decoder (Flux.2 VAE)
2026-06-05 01:54:18 +01:00
CalamitousFelicitousness b5fdb1995e test(ideogram4): add parity and smoke tests
Offline transformer parity gate against the reference plus an SDNQ-int4 end-to-end smoke.
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
CalamitousFelicitousness 32081ade7c refactor(native-loader): replace required_markers with reactive fallback
A converter error or load_state_dict mismatch now raises OverrideArchMismatch, which load_transformer catches to drop the override and load the base transformer. No per-arch markers to maintain.
2026-06-04 21:20:10 +01:00
Vladimir Mandic 624c304f4b update todo
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-04 12:48:57 +02:00
Vladimir Mandic 5e99dee3c2 full codespell coverage
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-04 12:36:10 +02:00
Vladimir Mandic 0bfcdabbbb lint fix
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-04 11:37:44 +02:00
Vladimir Mandic f25f325efb fixes based on full skills run
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-04 11:10:26 +02:00
Vladimir Mandic e7e317191a automated pipeline registrations and tests
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-04 10:18:09 +02:00
Vladimir Mandic cade8c2564 fix generate forever
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-03 16:54:58 +02:00