summaryrefslogtreecommitdiff
path: root/candle-examples/examples/stable-diffusion/attention.rs
diff options
context:
space:
mode:
authorLaurent Mazare <laurent.mazare@gmail.com>2023-08-29 11:13:43 +0100
committerGitHub <noreply@github.com>2023-08-29 11:13:43 +0100
commit62ef494dc17c1f582b28c665e78f2aa78d846bb9 (patch)
tree2d01a3dc73128ede5b6d81400f718a3b4ec3db08 /candle-examples/examples/stable-diffusion/attention.rs
parentd0a330448d7c7dad242f2a6bafca29b8f53dc119 (diff)
downloadcandle-62ef494dc17c1f582b28c665e78f2aa78d846bb9.tar.gz
candle-62ef494dc17c1f582b28c665e78f2aa78d846bb9.tar.bz2
candle-62ef494dc17c1f582b28c665e78f2aa78d846bb9.zip
Use multiple transformer layer in the same cross-attn blocks. (#653)
* Use multiple transformer layer in the same cross-attn blocks. * Make the context contiguous if required.
Diffstat (limited to 'candle-examples/examples/stable-diffusion/attention.rs')
-rw-r--r--candle-examples/examples/stable-diffusion/attention.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/candle-examples/examples/stable-diffusion/attention.rs b/candle-examples/examples/stable-diffusion/attention.rs
index 797542aa..1ae1bfc3 100644
--- a/candle-examples/examples/stable-diffusion/attention.rs
+++ b/candle-examples/examples/stable-diffusion/attention.rs
@@ -208,9 +208,9 @@ impl CrossAttention {
fn forward(&self, xs: &Tensor, context: Option<&Tensor>) -> Result<Tensor> {
let _enter = self.span.enter();
let query = self.to_q.forward(xs)?;
- let context = context.unwrap_or(xs);
- let key = self.to_k.forward(context)?;
- let value = self.to_v.forward(context)?;
+ let context = context.unwrap_or(xs).contiguous()?;
+ let key = self.to_k.forward(&context)?;
+ let value = self.to_v.forward(&context)?;
let query = self.reshape_heads_to_batch_dim(&query)?;
let key = self.reshape_heads_to_batch_dim(&key)?;
let value = self.reshape_heads_to_batch_dim(&value)?;