Commit Graph

126 Commits

Author SHA1 Message Date
CalamitousFelicitousness 4a64ec428b feat(samplers): add DPM++ 3M SDE preset
DPMSolverMultistepScheduler implements 3rd-order sde-dpmsolver++, but the preset grid stopped at order 2 on the SDE row. Add the order-3 variant next to DPM++ SDE and DPM++ 2M SDE to complete it.
2026-06-14 01:42:26 +01:00
CalamitousFelicitousness e804d6df21 feat(samplers): group sampler dropdown into labeled sections
Reorder samplers_data_diffusers into recognizable solver-family groups (Euler, DPM/DPM++, UniPC/DEIS, Heun/KDPM2, ER-SDE, Classic, Distilled, Misc), each ending with its FlowMatch variants, and Res4Lyf as a fenced experimental section, so the dropdown is scannable.

Dividers are SamplerData sentinels with U+2500 names: create_sampler keeps the current scheduler when one is selected, get_sampler_name falls back to Default, set_samplers and validate_sampler_name exclude them, and a visible_samplers() helper drops them from the xyz axes, detailer, and folder pickers. The main and refine dropdowns render them as section labels. No sampler is removed or renamed, so saved infotexts, styles, and API calls keep resolving.
2026-06-14 01:41:05 +01:00
CalamitousFelicitousness 47aa9a2c93 fix(samplers): report validation failures without backtrace
Sampler capability gates raised plain ValueError when schedulers_fallback is
disabled, so the API middleware and the gradio call wrapper printed a full
backtrace for an expected outcome. Add errors.ValidationError, raise it from
the gates, and report it message-only in errors.display; the UI error box and
the API error response already carry the message.
2026-06-10 03:08:20 +01:00
CalamitousFelicitousness e783981f3d fix(samplers): honor fallback setting in remaining sampler fallback paths
create_sampler restored the model default scheduler on a prediction-type
mismatch, on an unknown sampler config, and on any scheduler-constructor
exception regardless of schedulers_fallback; only SD_SAMPLER_DEBUG could turn
the prediction mismatch into an error. Raise like the other capability gates
when the fallback setting is disabled.

An unresolved sampler name substituted UniPC before any of those gates could
run; pass the requested name through instead, so it falls back to the model
default (or raises when fallback is disabled) and the infotext records
Default rather than the unresolved name. find_sampler now also resolves an
unspecified sampler to Default instead of UniPC, matching the platform
default used everywhere else.
2026-06-10 03:08:20 +01:00
CalamitousFelicitousness 1d5fbc60e5 feat(samplers): wire sigma transforms into ER-SDE FlowMatch presets
The ER-SDE FlowMatch presets carried only use_flow_sigmas, so the sigma
method selector could not drive karras/beta/exponential for the FlowMatch
variants. Add use_karras_sigmas/use_exponential_sigmas/use_beta_sigmas to
match the plain ER-SDE presets and the Euler/UniPC/Flash FlowMatch presets,
which use the same boolean-flag mechanism.
2026-06-10 03:08:20 +01:00
CalamitousFelicitousness 7084ac2c81 fix(samplers): warn or raise when sampler lacks selected sigma method
The sigma-method override silently fell back to the sampler's default
schedule when the selected method has no matching config key. Now warns and
uses the default schedule with schedulers_fallback enabled, or raises like
the other capability gates when it is disabled.
2026-06-10 03:08:20 +01:00
CalamitousFelicitousness f59e32ff17 feat(samplers): add sigma-schedule parity to ER-SDE
ERSDEScheduler now accepts use_karras_sigmas, use_exponential_sigmas,
use_beta_sigmas, and use_flow_sigmas, matching the other flow schedulers.
The VP path derives alpha/sigma/lambda from the k-diffusion sigma so the
karras/beta/exponential transforms can use fractional timesteps; the
default schedule is numerically unchanged. use_flow_sigmas triggers flow
mode and add_noise tolerates fractional timesteps.

Wire the new keys into the ER-SDE presets so the sigma method selector
drives them, and cover ER-SDE in the scheduler stability test.
2026-06-10 03:08:20 +01:00
Vladimir Mandic 84228f1657 update sampler behavior and user definable fallback
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-08 17:00:00 +02:00
CalamitousFelicitousness 28c66c9812 fix(samplers): apply flow shift to non-flowmatch ER-SDE presets 2026-06-07 22:08:16 +01:00
Vladimir Mandic 217e4e42c3 skill check-schedulers
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-05-13 11:40:48 +02:00
vladmandic c2dd402f17 update samplers hijack
Signed-off-by: vladmandic <mandic00@live.com>
2026-04-15 09:44:32 +02:00
resonantsky 512051bafa samplers: fix UniPCMultistepScheduler sigmas device mismatch at step >= 2
upstream UniPCMultistepScheduler.set_timesteps unconditionally moves self.sigmas to CPU after building them. multistep_uni_p_bh_update / multistep_uni_c_bh_update then constructs a torch.ones(..., device=sample.device) tensor and calls torch.stack([..., self.sigmas[...]]) — crashing at inference step >= 2 whenever the model runs on a non-CPU device (CUDA, ROCm, MPS).

Monkey-patch set_timesteps so that, after the upstream call, self.sigmas is moved back to the requested device. Applied once at import time inside the existing sampler-load try/except block so failures are silent-logged and never break the rest of the sampler registry.
2026-04-14 14:35:29 +02:00
vladmandic 9e6ce8a261 fix check-schedulers
Signed-off-by: vladmandic <mandic00@live.com>
2026-04-12 19:06:08 +02:00
CalamitousFelicitousness 4d347049eb add ER-SDE solver scheduler 2026-04-11 16:31:32 +01:00
vladmandic 5a5e3cc381 use rate-limit for api logging
Signed-off-by: vladmandic <mandic00@live.com>
2026-03-19 08:52:10 +01:00
vladmandic 1acc327192 merge: modules/sd_samplers_diffusers.py 2026-03-17 10:57:29 +01:00
vladmandic f9abe07035 cleanup logging and update requirements
Signed-off-by: vladmandic <mandic00@live.com>
2026-03-13 13:02:41 +01:00
vladmandic ee6cadfa9c cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2026-03-13 11:42:16 +01:00
vladmandic 1b699557b8 merge: modules/sd_samplers_diffusers.py 2026-03-13 11:23:17 +01:00
Vladimir Mandic e5c494f999 cleanup logger 2026-02-19 11:09:13 +01:00
Vladimir Mandic a3074baf8b unified logger 2026-02-19 09:46:42 +01:00
vladmandic d7ca4f63a7 update schedulers and lint everything
Signed-off-by: vladmandic <mandic00@live.com>
2026-02-04 11:58:02 +01:00
vladmandic 4f7555d9e1 update schedulers
Signed-off-by: vladmandic <mandic00@live.com>
2026-02-03 13:12:12 +01:00
Vladimir Mandic 8cbd5afb98 update sampler definitions
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-01-31 13:16:32 +00:00
Vladimir Mandic 1d369b032c res4lyf epsilon validated
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-01-31 12:37:17 +00:00
Vladimir Mandic f5630fdf63 fix typo
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-01-31 10:30:46 +00:00
Vladimir Mandic 7eb776a594 update res4lyf
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-01-31 10:18:39 +00:00
vladmandic 1629c21452 second phase of res4lyf
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-28 13:29:23 +01:00
vladmandic 264a9f02d7 preview: res4lyf reimplemented
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-28 09:23:49 +01:00
vladmandic f47c7d17af add CogXDDIM, DDIMParallel, DDPMParallel
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-27 09:46:31 +01:00
Vladimir Mandic 0b346ec1ce add base and max shift parameters for flow-matching samplers
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-10-19 14:11:41 -04:00
Vladimir Mandic 6312b3d0ac add Qwen3-4B-Instruct-2507 llm and Flash-FlowMatch scheduler
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-08-11 16:35:16 -04:00
Vladimir Mandic 461bed5720 experimental sampler monkeypatch
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-08-02 07:06:34 -04:00
Vladimir Mandic 251c919c51 auto-handle sampler flow detection
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-07-14 22:07:39 -04:00
Vladimir Mandic a5b77b8ee2 remove dead code
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-07-05 16:47:25 -04:00
Vladimir Mandic 1d8551788a update changelog and cleanup samplers
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-06-27 17:02:25 -04:00
Disty0 046840c8be Fix HiDream sampling 2025-05-31 00:52:56 +03:00
Disty0 f4dfe20bc1 Add sigmoid beta scheduler 2025-05-04 17:42:22 +03:00
Vladimir Mandic 75756ac6ea add new ltx
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-04-18 08:32:41 -04:00
Vladimir Mandic 87defaac61 add lcm-flowmatch sampler and fix hunyuanvideo-i2v
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-04-16 07:29:41 -04:00
Vladimir Mandic 8f7a397a32 fix unipc-flowmatch
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-04-14 10:14:26 -04:00
Vladimir Mandic 76b5709f51 add unipc-flowmatch, cfgzero for hidream
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-04-14 08:50:01 -04:00
Vladimir Mandic 0d6301ff25 samplers add manual sigma adjustment
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-03-27 16:26:11 -04:00
Vladimir Mandic ec488d2a36 cleanup
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-03-23 14:34:55 -04:00
Vladimir Mandic a7ccea60ff add lumina2
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-02-12 08:54:00 -05:00
Disty0 a34d331967 Correct DPM++ 1S naming and add DPM++ SDE preset 2025-02-09 13:20:41 +03:00
Vladimir Mandic e018ed627d ui quality-of-life improvements
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-02-06 16:48:31 -05:00
Vladimir Mandic 1c1657525c cleanup logging
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-02-04 09:02:45 -05:00
Vladimir Mandic bda45d865e perflow
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-01-22 11:03:23 -05:00
Vladimir Mandic 311d402b0c model component merge
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-01-19 14:36:09 -05:00