(self, target_embedding, source_embedding, value_embedding)
| 278 | self.dropout = nn.Dropout(attention_dropout) |
| 279 | |
| 280 | def forward(self, target_embedding, source_embedding, value_embedding): |
| 281 | B, L, _ = target_embedding.shape |
| 282 | S, _ = source_embedding.shape |
| 283 | H = self.n_heads |
| 284 | |
| 285 | target_embedding = self.query_projection(target_embedding).view(B, L, H, -1) |
| 286 | source_embedding = self.key_projection(source_embedding).view(S, H, -1) |
| 287 | value_embedding = self.value_projection(value_embedding).view(S, H, -1) |
| 288 | |
| 289 | out = self.reprogramming(target_embedding, source_embedding, value_embedding) |
| 290 | |
| 291 | out = out.reshape(B, L, -1) |
| 292 | |
| 293 | return self.out_projection(out) |
| 294 | |
| 295 | def reprogramming(self, target_embedding, source_embedding, value_embedding): |
| 296 | B, L, H, E = target_embedding.shape |
nothing calls this directly
no test coverage detected