From ec007a30188bff806e71e2430fa010bb337703cc Mon Sep 17 00:00:00 2001 From: vladmandic Date: Sat, 10 Jan 2026 08:41:27 +0100 Subject: [PATCH] add laplace beta scheduler Signed-off-by: vladmandic --- CHANGELOG.md | 4 +++- installer.py | 2 +- modules/ui_sections.py | 2 +- scripts/xyz/xyz_grid_classes.py | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ec432d5b..15f9625c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change Log for SD.Next -## Update for 2025-01-09 +## Update for 2025-01-10 - **Models** - [Qwen-Image-2512](https://huggingface.co/Qwen/Qwen-Image-2512) @@ -10,6 +10,7 @@ - **SDNQ** now has *19 int* based and *69 float* based quantization types *note*: not all are exposed via ui purely for simplicity, but all are available via api and scripts - allow weights for wildcards, thanks @Tillerz + - sampler: add laplace beta schedule - **UI** - kanvas add send-to functionality - kanvas improve support for standardui @@ -42,6 +43,7 @@ - force model move on offload=none - kandinsky-5 image and video on non-cuda platforms - lora loading when using torch without distributed support + - google-genai auth, thanks @CalamitousFelicitousness ## Update for 2025-12-26 diff --git a/installer.py b/installer.py index 1df889a6a..274936739 100644 --- a/installer.py +++ b/installer.py @@ -648,7 +648,7 @@ def check_diffusers(): t_start = time.time() if args.skip_all: return - sha = '8b9f817ef545f7e16e9d9959d0495b7567189e20' # diffusers commit hash + sha = 'ed6e5ecf67ac762e878d3d6e25bda4e77b0c820a' # diffusers commit hash # if args.use_rocm or args.use_zluda or args.use_directml: # sha = '043ab2520f6a19fce78e6e060a68dbc947edb9f9' # lock diffusers versions for now pkg = pkg_resources.working_set.by_key.get('diffusers', None) diff --git a/modules/ui_sections.py b/modules/ui_sections.py index 0d57eccb2..f2ef2d311 100644 --- a/modules/ui_sections.py +++ b/modules/ui_sections.py @@ -258,7 +258,7 @@ def create_sampler_options(tabname): sampler_sigma = gr.Dropdown(label='Sigma method', elem_id=f"{tabname}_sampler_sigma", choices=['default', 'karras', 'betas', 'exponential', 'lambdas', 'flowmatch'], value=shared.opts.schedulers_sigma, type='value') sampler_spacing = gr.Dropdown(label='Timestep spacing', elem_id=f"{tabname}_sampler_spacing", choices=['default', 'linspace', 'leading', 'trailing'], value=shared.opts.schedulers_timestep_spacing, type='value') with gr.Row(elem_classes=['flex-break']): - sampler_beta = gr.Dropdown(label='Beta schedule', elem_id=f"{tabname}_sampler_beta", choices=['default', 'linear', 'scaled', 'cosine', 'sigmoid'], value=shared.opts.schedulers_beta_schedule, type='value') + sampler_beta = gr.Dropdown(label='Beta schedule', elem_id=f"{tabname}_sampler_beta", choices=['default', 'linear', 'scaled', 'cosine', 'sigmoid', 'laplace'], value=shared.opts.schedulers_beta_schedule, type='value') sampler_prediction = gr.Dropdown(label='Prediction method', elem_id=f"{tabname}_sampler_prediction", choices=['default', 'epsilon', 'sample', 'v_prediction', 'flow_prediction'], value=shared.opts.schedulers_prediction_type, type='value') with gr.Row(elem_classes=['flex-break']): sampler_presets = gr.Dropdown(label='Timesteps presets', elem_id=f"{tabname}_sampler_presets", choices=['None', 'AYS SD15', 'AYS SDXL'], value='None', type='value') diff --git a/scripts/xyz/xyz_grid_classes.py b/scripts/xyz/xyz_grid_classes.py index d2331a731..37767cdbe 100644 --- a/scripts/xyz/xyz_grid_classes.py +++ b/scripts/xyz/xyz_grid_classes.py @@ -221,7 +221,7 @@ axis_options = [ AxisOption("[Sampler] Timestep spacing", str, apply_setting("schedulers_timestep_spacing"), choices=lambda: ['default', 'linspace', 'leading', 'trailing']), AxisOption("[Sampler] Timestep range", int, apply_setting("schedulers_timesteps_range")), AxisOption("[Sampler] Solver order", int, apply_setting("schedulers_solver_order")), - AxisOption("[Sampler] Beta schedule", str, apply_setting("schedulers_beta_schedule"), choices=lambda: ['default', 'linear', 'scaled', 'cosine']), + AxisOption("[Sampler] Beta schedule", str, apply_setting("schedulers_beta_schedule"), choices=lambda: ['default', 'linear', 'scaled', 'cosine', 'sigmoid', 'laplace']), AxisOption("[Sampler] Beta start", float, apply_setting("schedulers_beta_start")), AxisOption("[Sampler] Beta end", float, apply_setting("schedulers_beta_end")), AxisOption("[Sampler] Flow shift", float, apply_setting("schedulers_shift")),