(self, curr_out, prev_mem)
| 689 | return ret |
| 690 | |
| 691 | def cache_mem(self, curr_out, prev_mem): |
| 692 | # cache hidden states into memory. |
| 693 | if self.reuse_len is not None and self.reuse_len > 0: |
| 694 | curr_out = curr_out[: self.reuse_len] |
| 695 | |
| 696 | if prev_mem is None: |
| 697 | new_mem = curr_out[-self.mem_len :] |
| 698 | else: |
| 699 | new_mem = torch.cat([prev_mem, curr_out], dim=0)[-self.mem_len :] |
| 700 | |
| 701 | return new_mem.detach() |
| 702 | |
| 703 | @staticmethod |
| 704 | def positional_embedding(pos_seq, inv_freq, bsz=None): |