From 84c2ddc5ca929e9dd73ebe942c844d779b0a81f5 Mon Sep 17 00:00:00 2001 From: vladmandic Date: Mon, 13 Apr 2026 12:18:05 +0200 Subject: [PATCH] linting Signed-off-by: vladmandic --- CHANGELOG.md | 21 +++++++++++++-------- extensions-builtin/sdnext-modernui | 2 +- modules/sd_checkpoint.py | 1 - modules/sdnq/quantizer.py | 2 +- pipelines/z_image/patch_fp16.py | 5 ++--- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc92178a0..87712b734 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,17 @@ integrates Qwen2.5-VL text encoder and Flow Matching scheduler for high-quality in-context edits enables multimodal understanding and conditional image refinement category: *base* +- **Features** + - **Tag Autocomplete** native implementation! + select and activate any number of different auto-complete databases + see *Extras -> Autocomplete* for all settings + - **NudeNet** add `LlavaGuard` and `QwenGuard` as image safety evaulation models + - **schedulers** add `ER-SDE` solver + with with *1S, 2M, 3M* variants in both *EPS* and *FlowMatch* flavors + - **installer** auto-restart on upgrade + - enhanced **filename** pattern processing + allows for any *processing* property name (as defined in `modules/processing_class.py` and saved to `ui-config.json`) + allows for any *settings* property name (as defined in `modules/ui_definitions.py` and saved to `config.json`) - **Compute** - **ROCm** futher work on advanced configuration and tuning, thanks @resonantsky now covers both ROCm on Windows and Linux @@ -31,16 +42,9 @@ perform detection of fp16 capabilities instead of forcing fp32 by default add *experimental* support for `NPU` devices, typically available on AI-PC/Copilot-PC devices - **SDNQ** add quant support to `nn.Embedding` type -- **Features** - - **nudenet** add `LlavaGuard` and `QwenGuard` as image safety evaulation models - - **schedulers** add `ER-SDE` solver - with with *1S, 2M, 3M* variants in both *EPS* and *FlowMatch* flavors - - installer auto-restart on upgrade - - enhanced filename pattern processing - allows for any *processing* property name (as defined in `modules/processing_class.py` and saved to `ui-config.json`) - allows for any *settings* property name (as defined in `modules/ui_definitions.py` and saved to `config.json`) - **UI** - `gallery` send-to button advanced options with right-click + - `tag autocomplete` quick toggle in main prompt area - **Caption & Prompt Enhance** - [Google Gemma 4] in *E2B* and *E4B* variants as well as *heretic* fine-tune - **Agents** @@ -81,6 +85,7 @@ - controlnet processor error handling - error handling for same-device check - error handling for undefined pipeline + - patch `z-image` for fp16 compatibility, thanks @resonantsky ## Update for 2026-04-01 diff --git a/extensions-builtin/sdnext-modernui b/extensions-builtin/sdnext-modernui index e3720332f..8cbc80bc4 160000 --- a/extensions-builtin/sdnext-modernui +++ b/extensions-builtin/sdnext-modernui @@ -1 +1 @@ -Subproject commit e3720332f2301fa597c94b40897aa6e983020f1f +Subproject commit 8cbc80bc49410c4cc436aacd0d25a3290f53630f diff --git a/modules/sd_checkpoint.py b/modules/sd_checkpoint.py index 07667e6e0..086010b9b 100644 --- a/modules/sd_checkpoint.py +++ b/modules/sd_checkpoint.py @@ -132,7 +132,6 @@ def checkpoint_titles(use_short=False): def list_models(): t0 = time.time() - global checkpoints_list # pylint: disable=global-statement checkpoints_list.clear() checkpoint_aliases.clear() ext_filter = [".safetensors"] diff --git a/modules/sdnq/quantizer.py b/modules/sdnq/quantizer.py index 090a937b6..4911f4c5b 100644 --- a/modules/sdnq/quantizer.py +++ b/modules/sdnq/quantizer.py @@ -576,7 +576,7 @@ def apply_sdnq_to_module(model, weights_dtype="int8", quantized_matmul_dtype=Non if layer_class_name in allowed_types and module.weight.dtype in {torch.float64, torch.float32, torch.float16, torch.bfloat16}: if layer_class_name in embedding_types and not quant_embedding: continue - elif (layer_class_name in conv_types or layer_class_name in conv_transpose_types) and not quant_conv: + if (layer_class_name in conv_types or layer_class_name in conv_transpose_types) and not quant_conv: continue quant_kwargs = { "weights_dtype": weights_dtype, diff --git a/pipelines/z_image/patch_fp16.py b/pipelines/z_image/patch_fp16.py index 4318a3549..43fdb5d22 100644 --- a/pipelines/z_image/patch_fp16.py +++ b/pipelines/z_image/patch_fp16.py @@ -27,7 +27,7 @@ def apply_patches(): Uses modules.patches.patch() — idempotent, reversible via modules.patches.undo(). """ - global _applied + global _applied # pylint: disable=global-statement if _applied: return _applied = True @@ -39,7 +39,7 @@ def apply_patches(): # ------------------------------------------------------------------ # FeedForward._forward_silu_gating # ------------------------------------------------------------------ - def _patched_forward_silu_gating(self, x1, x3): + def _patched_forward_silu_gating(self, x1, x3): # pylint: disable=unused-argument return _clamp_fp16(F.silu(x1) * x3) # ------------------------------------------------------------------ @@ -106,4 +106,3 @@ def apply_patches(): sdnext_patches.patch(__name__, m.FeedForward, '_forward_silu_gating', _patched_forward_silu_gating) sdnext_patches.patch(__name__, m.ZImageTransformerBlock, 'forward', _patched_zimage_block_forward) sdnext_patches.patch(__name__, m.FinalLayer, 'forward', _patched_final_layer_forward) -