| 87 | ) |
| 88 | |
| 89 | def forward(self, x_enc, x_dec,x_mark_enc=None, x_mark_dec=None, |
| 90 | enc_self_mask=None, dec_self_mask=None, dec_enc_mask=None): |
| 91 | |
| 92 | enc_out = self.enc_embedding(x_enc, x_mark_enc) |
| 93 | enc_out, attns = self.encoder(enc_out, attn_mask=enc_self_mask) |
| 94 | |
| 95 | dec_out = self.dec_embedding(x_dec, x_mark_dec) |
| 96 | dec_out = self.decoder(dec_out, enc_out, x_mask=dec_self_mask, cross_mask=dec_enc_mask) |
| 97 | |
| 98 | if self.output_attention: |
| 99 | return dec_out[:, -self.pred_len:, :], attns |
| 100 | else: |
| 101 | return dec_out[:, -self.pred_len:, :] # [B, L, D] |