diff options
author | brkirch <brkirch@users.noreply.github.com> | 2023-04-14 06:22:48 +0000 |
---|---|---|
committer | brkirch <brkirch@users.noreply.github.com> | 2023-05-08 12:16:56 +0000 |
commit | 7aab389d6fc8ad08729071b1ed9d4de64c4e44db (patch) | |
tree | 3dfcbb449e13977b99cbadc54c0e105c65106bad /modules/sd_hijack_optimizations.py | |
parent | 5ab7f213bec2f816f9c5644becb32eb72c8ffb89 (diff) | |
download | stable-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.py | 3 |
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()
|