Commit Graph

8811 Commits

Author SHA1 Message Date
Disty0 72a4d2c2bd Add Hadamard support to SDNQ Atten 2026-06-23 14:17:34 +03:00
Vladimir Mandic 904925c1ef update changelog
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-23 10:02:40 +02:00
Vladimir Mandic cc4110ecc5 Merge pull request #4962 from vladmandic/feat/krea2
feat(krea2): add Krea 2 (K2) image model support
2026-06-23 09:18:19 +02:00
Vladimir Mandic efbde97288 Merge pull request #4961 from 0xDELUXA/fix/hipblaslt-nested-tensile-library
fix: detect hipBLASLt Tensile library in nested per-arch subfolder
2026-06-23 09:11:33 +02:00
Disty0 dfa713e6fc Add SDNQ attention 2026-06-23 08:10:02 +03:00
CalamitousFelicitousness 48fad8524e feat(krea2): add Krea 2 (K2) image model support
Krea 2 is a 12.9B single-stream flow-matching DiT trained from scratch, using a Qwen3-VL-4B text encoder and the Qwen-Image VAE. The transformer is vendored as a diffusers ModelMixin whose module tree mirrors the checkpoint, so weights load with no key conversion; the pipeline ports the reference encode, flow-matching denoise, and VAE decode. The text encoder is shared at runtime via the existing dedup registry, so Base and Turbo reuse one Qwen3-VL-4B copy.

Covers text-to-image, image-to-image, native LoRA, and the single-file UNET override. Also completes SD.Next's partial Qwen-Image VAE support (5D decode input and TAESD preview mapping) that K2 shares.
2026-06-23 04:41:54 +01:00
0xDELUXA daa27a9977 fix: detect hipBLASLt Tensile library in nested per-arch subfolder 2026-06-23 00:06:03 +03:00
QualiaRain ec3d4182cc fix(mask): guard zero-area divide in auto-mask Edge mode
In get_mask() Edge mode, largest_size is set to 0 when there are no
contours, but the luminance loop is also entered when contours exist
whose largest has zero area (e.g. thin 1px / degenerate features whose
cv2.contourArea is 0). That path divides by largest_size and raises
ZeroDivisionError, crashing auto-masking. Guard the divide: when
largest_size is 0 the scaled luminance is 0, so the loop breaks on the
first iteration and yields an empty mask (the sensible no-region result).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-22 12:41:14 -04:00
QualiaRain c0f5f41042 fix(control): remove inert DWPose (Legacy) pose-model selector
The DWPose (Legacy) "Pose Model" (Tiny/Medium/Large) radio wrote to
config['DWPose (Legacy)']['model'], but the rtmlib backend
(RtmlibPoseDetector.from_pretrained) only takes the mode string and
always loads RTMPose 'lightweight' - it never reads that key (the only
config[...]['model'] readers are the SegmentAnything branch). The
selector was a no-op left over from the removed mmpose DWPose processor
(see #4956).

Remove the radio, its dead 'model' config key (both the module-level and
delay_load_config dicts), and its update_settings slot; reindex the
remaining settings 18..27. The settings list stays 1:1 with the UI
controls (re-derived the append-order -> update_settings map to confirm).

No runtime behavior change. The alternative - keep the capability by
mapping Tiny/Medium/Large onto rtmlib's mode - is intentionally not taken
here since it would change which model loads.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-22 10:28:59 -04:00
Vladimir Mandic 6e6ed82732 fix conflciting label
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-22 16:27:31 +02:00
Vladimir Mandic b697f33d76 fix onnx execution providers
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-22 16:22:11 +02:00
QualiaRain 39b6eb058a fix(control): align processor settings-panel titles with renamed processors
The 8d4ebcd5e rename updated the processor dropdown/config names but left
three settings-accordion titles on the pre-rename names, so a panel titled
e.g. "SegmentAnything" sits under the "SegmentAnything 1.0" dropdown entry.
Cosmetic only (Gradio accordion labels are display-only); aligns the titles:

- MediaPipe Face   -> MediaPipe Face (Legacy)
- DWPose           -> DWPose (Legacy)
- SegmentAnything  -> SegmentAnything 1.0

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-22 08:54:03 -04:00
QualiaRain b83ad23856 fix(control): update stale processor names after rename
update_settings() and the XYZ [Control] Processor axis still used
pre-rename names ('MediaPipe Face', 'DWPose', 'SegmentAnything') that
no longer exist as config keys after 8d4ebcd5e.

- update_settings(): update stale keys to 'MediaPipe Face (Legacy)',
  'DWPose (Legacy)', 'SegmentAnything 1.0' -- the KeyError at
  'MediaPipe Face' (line 182) was silently dropping all settings after
  position 13 on every panel change
- DWPose (Legacy) config: add missing 'model' key so update_settings
  can persist the Pose Model radio value without crashing
- processor.processors list: remove stale 'DWPose' entry (already
  present as 'DWPose (Legacy)') that caused XYZ [Control] Processor
  to offer an unloadable option

Fixes #4953

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-22 08:08:02 -04:00
Vladimir Mandic 13be6d3f88 Merge pull request #4952 from QualiaRain/fix/control-segmentanything-load
fix(control): SegmentAnything 1.0 fails to load after processor rename
2026-06-22 12:26:51 +02:00
Vladimir Mandic 913f1ca9ee improve gallery performance
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-22 12:16:18 +02:00
QualiaRain fdb27bb5af fix(control): SegmentAnything fails to load after processor rename
The "processors multiple fixes" rename split 'SegmentAnything' / 'SAM 2.1'
into 'SegmentAnything 1.0' / 'SegmentAnything 2.1' but left Processor.load()
matching the old name by substring:

    elif 'SegmentAnything' in processor_id:
        ... config['SegmentAnything']['model'] ...

Post-rename this (a) raises KeyError because 'SegmentAnything' is no longer
a config key, so both SAM processors fail to load, and (b) wrongly routes
'SegmentAnything 2.1' (a Sam2Detector loaded via load_config) into the
SAM-v1 weight path instead of letting it fall through to the generic
load_config branch.

Match the v1 id exactly and key off config[processor_id], restoring the
pre-rename routing: v1.0 -> explicit SAM-v1 branch, v2.1 -> load_config.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-21 23:41:32 -04:00
Disty0 da3907a17c Set has_triton to True for CPU backend 2026-06-21 14:25:16 +03:00
Vladimir Mandic 893c1e702d main panel positioning
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-21 12:52:32 +02:00
Vladimir Mandic 7e51186e60 better handle onnxruntime
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-21 11:19:08 +02:00
Disty0 2c7924ad3e SDNQ set NPU as the default for CPU + OpenVINO 2026-06-21 03:37:02 +03:00
Disty0 3cda283bd4 assume fp16 instead 2026-06-20 23:06:25 +03:00
Disty0 6e13c74e3b SDNQ add fp_mm_torch for non CUDA 2026-06-20 22:55:27 +03:00
Vladimir Mandic 22e6ab2bb8 add legacy notice
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-20 21:18:35 +02:00
Disty0 d2d0efbc48 SDQN add OpenVINO FP16 MM and add update_torch_dtype to SDNQQuantizer 2026-06-20 21:41:34 +03:00
Vladimir Mandic afc1a043b6 vae_scale_factor override
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-20 10:49:43 +02:00
Vladimir Mandic 8d71d5206d delay init of video models
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-20 10:28:46 +02:00
Vladimir Mandic 2b81eadecf add force dtype on load
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-20 09:38:50 +02:00
Vladimir Mandic 359280864a mps install torchsde
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-20 08:15:35 +02:00
Vladimir Mandic 37924d398e Merge pull request #4936 from Artheriax/dev
User option to enable/disable out-of-focus live previews
2026-06-20 08:09:50 +02:00
Disty0 440aa0d105 typing 2026-06-19 03:28:09 +03:00
Disty0 bd3eac047f SDNQ fix NPU accuracy 2026-06-19 02:59:21 +03:00
Disty0 7d14e814bd SDNQ revert NPU default 2026-06-19 01:55:06 +03:00
Disty0 38820cbbd9 SDNQ add NPU support and default to NPU on CPUs with OpenVINO 2026-06-19 00:12:22 +03:00
Disty0 8a9f5c0761 sdnq fix use_contiguous_mm check with openvino 2026-06-18 20:03:47 +03:00
Disty0 5244f63554 SDNQ add OpenVINO MM for CPUs 2026-06-18 18:15:57 +03:00
Vladimir Mandic 8d4ebcd5ef processors multiple fixes
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-18 11:45:34 +02:00
Vladimir Mandic 7c81bc2d50 lint fixes
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-18 11:45:34 +02:00
Vladimir Mandic b60c67ecd4 fix preview mapping
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-18 11:45:34 +02:00
Disty0 4b89d65639 Remove CPU from use_contiguous_mm 2026-06-17 22:10:50 +03:00
Pablo Hellmann 642a2be76f Add user option to enable/disable not-in-focus live previews 2026-06-17 16:08:37 +02:00
Pablo Hellmann 396b15e567 Revert "Adds per step based live preview as a option"
This reverts commit ecad61ce92.
2026-06-17 16:00:05 +02:00
Pablo Hellmann fbc1f66805 Revert "Ruff fixes"
This reverts commit 10145f7f2b.
2026-06-17 16:00:03 +02:00
Disty0 8214b044e3 SDNQ show a warining for no Triton instead and stop overriding matmul to false 2026-06-17 02:17:21 +03:00
Pablo Hellmann 10145f7f2b Ruff fixes 2026-06-16 20:23:06 +02:00
Pablo Hellmann ecad61ce92 Adds per step based live preview as a option 2026-06-16 20:20:18 +02:00
Vladimir Mandic b0dd94ab8a fix tinyvae with anima
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-16 11:58:36 +02:00
CalamitousFelicitousness 0769d423a7 fix(upscale): make SeedVR2 generation_step patch idempotent
UpscalerSeedVR.load_model() rebinds the module-global
generation.generation_step (called by name inside generation_loop) to
the instance's model_step wrapper, keeping the previous value to call
back into. That global was never restored, so the second pass through
load_model() saved the wrapper itself as the "original", making
model_step() call itself -> RecursionError.

The second pass is reached on any model (re)load: with upscaler_unload
enabled (self.model reset to None after each run) every subsequent run
recurses, and switching SeedVR variants (self.model_loaded != model_name)
triggers it even without unload.

Stash the pristine generation_step on the module once and have the
wrapper call that, so repeated loads never wrap the wrapper.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 10:18:21 +01:00
Vladimir Mandic 25262146fb lint fix
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-16 10:16:17 +02:00
Vladimir Mandic 6cc2a9582f Merge pull request #4935 from QualiaRain/fix/lora-network-shape-guard
fix(lora): guard self.shape for modules without a weight attribute
2026-06-16 09:01:24 +02:00
Vladimir Mandic 8f5759ac01 fix video prompt
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-16 08:47:19 +02:00