From 61a91186e5faccae360c62680e3e4b9f428269a7 Mon Sep 17 00:00:00 2001 From: Satish K C Date: Fri, 3 Apr 2026 14:57:55 -0500 Subject: [PATCH] fix: restore model_hijack.clip after LDSR upscale LDSR calls sd_hijack.model_hijack.hijack() on its own diffusion model, which overwrites model_hijack.clip with the LDSR cond_stage_model (a VQ-VAE autoencoder). After upscaling completes, clip remains set to this wrong object, causing token counters to fail with: AttributeError: 'Identity' object has no attribute 'process_texts' Save and restore model_hijack.clip around the upscale operation so the original SD model's CLIP encoder is preserved. Fixes #12942 --- extensions-builtin/LDSR/ldsr_model_arch.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/extensions-builtin/LDSR/ldsr_model_arch.py b/extensions-builtin/LDSR/ldsr_model_arch.py index 7cac36ce5..e7400a34c 100644 --- a/extensions-builtin/LDSR/ldsr_model_arch.py +++ b/extensions-builtin/LDSR/ldsr_model_arch.py @@ -104,6 +104,7 @@ class LDSR: return logs def super_resolution(self, image, steps=100, target_scale=2, half_attention=False): + previous_clip = sd_hijack.model_hijack.clip model = self.load_model_from_config(half_attention) # Run settings @@ -151,6 +152,8 @@ class LDSR: gc.collect() devices.torch_gc() + sd_hijack.model_hijack.clip = previous_clip + return a