diff options
author | AUTOMATIC <16777216c@gmail.com> | 2022-10-08 16:05:19 +0000 |
---|---|---|
committer | AUTOMATIC <16777216c@gmail.com> | 2022-10-08 16:05:19 +0000 |
commit | f9c5da159245bb1e7603b3c8b9e0703bcb1c2ff5 (patch) | |
tree | e2563828a01226d91238e2e704516fc7aaa34c99 /modules/sd_hijack_optimizations.py | |
parent | a5550f0213c3f145b1c984816ebcef92c48853ee (diff) | |
download | stable-diffusion-webui-gfx803-f9c5da159245bb1e7603b3c8b9e0703bcb1c2ff5.tar.gz stable-diffusion-webui-gfx803-f9c5da159245bb1e7603b3c8b9e0703bcb1c2ff5.tar.bz2 stable-diffusion-webui-gfx803-f9c5da159245bb1e7603b3c8b9e0703bcb1c2ff5.zip |
add fallback for xformers_attnblock_forward
Diffstat (limited to 'modules/sd_hijack_optimizations.py')
-rw-r--r-- | modules/sd_hijack_optimizations.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/modules/sd_hijack_optimizations.py b/modules/sd_hijack_optimizations.py index d23d733b..dba21192 100644 --- a/modules/sd_hijack_optimizations.py +++ b/modules/sd_hijack_optimizations.py @@ -211,6 +211,7 @@ def cross_attention_attnblock_forward(self, x): return h3
def xformers_attnblock_forward(self, x):
+ try:
h_ = x
h_ = self.norm(h_)
q1 = self.q(h_).contiguous()
@@ -218,4 +219,6 @@ def xformers_attnblock_forward(self, x): v = self.v(h_).contiguous()
out = xformers.ops.memory_efficient_attention(q1, k1, v)
out = self.proj_out(out)
- return x+out
+ return x + out
+ except NotImplementedError:
+ return cross_attention_attnblock_forward(self, x)
|