aboutsummaryrefslogtreecommitdiffstats
path: root/modules/sd_hijack_optimizations.py
diff options
context:
space:
mode:
authorbrkirch <brkirch@users.noreply.github.com>2023-04-14 06:22:48 +0000
committerbrkirch <brkirch@users.noreply.github.com>2023-05-08 12:16:56 +0000
commit7aab389d6fc8ad08729071b1ed9d4de64c4e44db (patch)
tree3dfcbb449e13977b99cbadc54c0e105c65106bad /modules/sd_hijack_optimizations.py
parent5ab7f213bec2f816f9c5644becb32eb72c8ffb89 (diff)
downloadstable-diffusion-webui-gfx803-7aab389d6fc8ad08729071b1ed9d4de64c4e44db.tar.gz
stable-diffusion-webui-gfx803-7aab389d6fc8ad08729071b1ed9d4de64c4e44db.tar.bz2
stable-diffusion-webui-gfx803-7aab389d6fc8ad08729071b1ed9d4de64c4e44db.zip
Fix for Unet NaNs
Diffstat (limited to 'modules/sd_hijack_optimizations.py')
-rw-r--r--modules/sd_hijack_optimizations.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/modules/sd_hijack_optimizations.py b/modules/sd_hijack_optimizations.py
index 372555ff..f10865cd 100644
--- a/modules/sd_hijack_optimizations.py
+++ b/modules/sd_hijack_optimizations.py
@@ -256,6 +256,9 @@ def sub_quad_attention_forward(self, x, context=None, mask=None):
k = k.unflatten(-1, (h, -1)).transpose(1,2).flatten(end_dim=1)
v = v.unflatten(-1, (h, -1)).transpose(1,2).flatten(end_dim=1)
+ if q.device.type == 'mps':
+ q, k, v = q.contiguous(), k.contiguous(), v.contiguous()
+
dtype = q.dtype
if shared.opts.upcast_attn:
q, k = q.float(), k.float()