aboutsummaryrefslogtreecommitdiffstats
path: root/modules/sd_hijack_clip.py
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-07-27 06:02:22 +0000
committerAUTOMATIC1111 <16777216c@gmail.com>2023-07-27 06:02:22 +0000
commit68f336bd994bed5442ad95bad6b6ad5564a5409a (patch)
treec49a1dabb84c89d2c5dbac61ea67042ea01d0e76 /modules/sd_hijack_clip.py
parenta3ddf464a2ed24c999f67ddfef7969f8291567be (diff)
parent50973ec77c297edc3b3c581e871b970dde1af8ba (diff)
downloadstable-diffusion-webui-gfx803-68f336bd994bed5442ad95bad6b6ad5564a5409a.tar.gz
stable-diffusion-webui-gfx803-68f336bd994bed5442ad95bad6b6ad5564a5409a.tar.bz2
stable-diffusion-webui-gfx803-68f336bd994bed5442ad95bad6b6ad5564a5409a.zip
Merge branch 'release_candidate'
Diffstat (limited to 'modules/sd_hijack_clip.py')
-rw-r--r--modules/sd_hijack_clip.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/modules/sd_hijack_clip.py b/modules/sd_hijack_clip.py
index 5443e609..16a5500e 100644
--- a/modules/sd_hijack_clip.py
+++ b/modules/sd_hijack_clip.py
@@ -270,12 +270,17 @@ 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()
- z *= batch_multipliers.reshape(batch_multipliers.shape + (1,)).expand(z.shape)
+ z = z * batch_multipliers.reshape(batch_multipliers.shape + (1,)).expand(z.shape)
new_mean = z.mean()
- z *= (original_mean / new_mean)
+ z = z * (original_mean / new_mean)
+
+ if pooled is not None:
+ z.pooled = pooled
return z