Args: seq: [batch_size, tgt_len] Returns:
(seq)
| 191 | |
| 192 | @staticmethod |
| 193 | def _get_attn_subsequence_mask(seq): |
| 194 | """ |
| 195 | Args: |
| 196 | seq: [batch_size, tgt_len] |
| 197 | |
| 198 | Returns: |
| 199 | """ |
| 200 | attn_shape = [seq.shape[0], seq.shape[1], seq.shape[1]] |
| 201 | |
| 202 | # generate the upper triangular matrix, [batch_size, tgt_len, tgt_len] |
| 203 | subsequence_mask = np.triu(np.ones(attn_shape), k=1) |
| 204 | subsequence_mask.astype(np.int32) |
| 205 | subsequence_mask = tensor.from_numpy(subsequence_mask) |
| 206 | return subsequence_mask |
| 207 | |
| 208 | @staticmethod |
| 209 | def _get_sinusoid_encoding_table(n_position, d_model): |