aboutsummaryrefslogtreecommitdiffstats
path: root/modules/sd_hijack_clip.py
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-07-26 12:07:56 +0000
committerAUTOMATIC1111 <16777216c@gmail.com>2023-07-26 12:07:56 +0000
commit89e6dfff717e2c2e57009fdabb0ed2b4f57b98a2 (patch)
tree5a4f6e972c0784fc2199ad0f2b6df58e47d11a57 /modules/sd_hijack_clip.py
parent8284ebd94c4d4f7e7141ebb47af206faab66ffed (diff)
downloadstable-diffusion-webui-gfx803-89e6dfff717e2c2e57009fdabb0ed2b4f57b98a2.tar.gz
stable-diffusion-webui-gfx803-89e6dfff717e2c2e57009fdabb0ed2b4f57b98a2.tar.bz2
stable-diffusion-webui-gfx803-89e6dfff717e2c2e57009fdabb0ed2b4f57b98a2.zip
repair SDXL
Diffstat (limited to 'modules/sd_hijack_clip.py')
-rw-r--r--modules/sd_hijack_clip.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/modules/sd_hijack_clip.py b/modules/sd_hijack_clip.py
index 990533fe..16a5500e 100644
--- a/modules/sd_hijack_clip.py
+++ b/modules/sd_hijack_clip.py
@@ -270,6 +270,8 @@ class FrozenCLIPEmbedderWithCustomWordsBase(torch.nn.Module):
z = self.encode_with_transformers(tokens)
+ pooled = getattr(z, 'pooled', None)
+
# restoring original mean is likely not correct, but it seems to work well to prevent artifacts that happen otherwise
batch_multipliers = torch.asarray(batch_multipliers).to(devices.device)
original_mean = z.mean()
@@ -277,6 +279,9 @@ class FrozenCLIPEmbedderWithCustomWordsBase(torch.nn.Module):
new_mean = z.mean()
z = z * (original_mean / new_mean)
+ if pooled is not None:
+ z.pooled = pooled
+
return z