From eebd980b2fbcafc5aca44c3c337395d2c21728a3 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Thu, 13 Nov 2025 09:28:08 -0500 Subject: [PATCH] fix animatediff Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 1 + scripts/animatediff.py | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 735426a2d..f582cb37b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,7 @@ TBD - detailer: fail on unsupported models instead of corrputing results - ui: fix collapsible panels - svd: fix stable-video-diffusion dtype mismatch + - animatediff: disable sdnq if used - process: improve send-to functionality - control: safe load non-sparse controlnet - control: fix marigold preprocessor with bfloat16 diff --git a/scripts/animatediff.py b/scripts/animatediff.py index 2d5f1bb9c..9465f1e11 100644 --- a/scripts/animatediff.py +++ b/scripts/animatediff.py @@ -82,6 +82,13 @@ def set_adapter(adapter_name: str = 'None'): sd_models.set_diffuser_options(motion_adapter, vae=None, op='adapter') loaded_adapter = adapter_name new_pipe = None + + if 'Model' in shared.opts.sdnq_quantize_weights: + prev_opts = shared.opts.sdnq_quantize_weights + shared.opts.sdnq_quantize_weights = [] + sd_models.reload_model_weights(force=True) + shared.opts.sdnq_quantize_weights = prev_opts + if shared.sd_model_type == 'sd': new_pipe = diffusers.AnimateDiffPipeline( vae=shared.sd_model.vae, @@ -106,6 +113,7 @@ def set_adapter(adapter_name: str = 'None'): image_encoder=getattr(shared.sd_model, 'image_encoder', None), motion_adapter=motion_adapter, ) + if new_pipe is None: motion_adapter = None loaded_adapter = None @@ -122,6 +130,8 @@ def set_adapter(adapter_name: str = 'None'): motion_adapter = None loaded_adapter = None shared.log.error(f'AnimateDiff load error: adapter="{adapter_name}" {e}') + from modules import errors + errors.display('e', 'AnimateDiff') def set_scheduler(p, model, override: bool = False):