Skip to content

Commit 33d7e89

Browse files
authored
Edited attention.py for older xformers (#1270)
Older versions of xformers require query, key, value to be contiguous, this calls .contiguous() on q/k/v before passing to xformers.
1 parent b3c5e08 commit 33d7e89

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

src/diffusers/models/attention.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,9 @@ def _sliced_attention(self, query, key, value, sequence_length, dim):
557557
return hidden_states
558558

559559
def _memory_efficient_attention_xformers(self, query, key, value):
560+
query = query.contiguous()
561+
key = key.contiguous()
562+
value = value.contiguous()
560563
hidden_states = xformers.ops.memory_efficient_attention(query, key, value, attn_bias=None)
561564
hidden_states = self.reshape_batch_dim_to_heads(hidden_states)
562565
return hidden_states

0 commit comments

Comments
 (0)