mirror of
https://github.com/vladmandic/automatic
synced 2026-09-18 16:54:33 +02:00
+13
-8
@@ -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
|
||||
|
||||
|
||||
Submodule extensions-builtin/sdnext-modernui updated: e3720332f2...8cbc80bc49
@@ -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"]
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user