diff options
author | brkirch <brkirch@users.noreply.github.com> | 2022-10-11 09:13:17 +0000 |
---|---|---|
committer | AUTOMATIC1111 <16777216c@gmail.com> | 2022-10-11 14:24:00 +0000 |
commit | 861db783c7acfcb93cf0b5191db3d50f9a9bc531 (patch) | |
tree | 88328016f541430e7108bbd6bb18a74f65e9cf50 | |
parent | 574c8e554a5371eca2cbf344764cb241c6ec4efc (diff) | |
download | stable-diffusion-webui-gfx803-861db783c7acfcb93cf0b5191db3d50f9a9bc531.tar.gz stable-diffusion-webui-gfx803-861db783c7acfcb93cf0b5191db3d50f9a9bc531.tar.bz2 stable-diffusion-webui-gfx803-861db783c7acfcb93cf0b5191db3d50f9a9bc531.zip |
Use apply_hypernetwork function
-rw-r--r-- | modules/sd_hijack_optimizations.py | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/modules/sd_hijack_optimizations.py b/modules/sd_hijack_optimizations.py index f006427f..79405525 100644 --- a/modules/sd_hijack_optimizations.py +++ b/modules/sd_hijack_optimizations.py @@ -202,16 +202,10 @@ def split_cross_attention_forward_invokeAI(self, x, context=None, mask=None): q = self.to_q(x)
context = default(context, x)
- hypernetwork = shared.loaded_hypernetwork
- hypernetwork_layers = (hypernetwork.layers if hypernetwork is not None else {}).get(context.shape[2], None)
-
- if hypernetwork_layers is not None:
- k = self.to_k(hypernetwork_layers[0](context)) * self.scale
- v = self.to_v(hypernetwork_layers[1](context))
- else:
- k = self.to_k(context) * self.scale
- v = self.to_v(context)
- del context, x
+ context_k, context_v = hypernetwork.apply_hypernetwork(shared.loaded_hypernetwork, context)
+ k = self.to_k(context_k) * self.scale
+ v = self.to_v(context_v)
+ del context, context_k, context_v, x
q, k, v = map(lambda t: rearrange(t, 'b n (h d) -> (b h) n d', h=h), (q, k, v))
r = einsum_op(q, k, v)
|