MCPcopy Create free account
hub / github.com/apache/singa / forward

Method forward

examples/trans/model.py:280–302  ·  view source on GitHub ↗

Pass the input through the encoder in turn. Args: enc_inputs: the sequence to the encoder (required). [batch_size, src_len]

(self, enc_inputs)

Source from the content-addressed store, hash-verified

278 self.layers.append(TransformerEncoderLayer(d_model=d_model, n_head=n_head, dim_feedforward=dim_feedforward))
279
280 def forward(self, enc_inputs):
281 """Pass the input through the encoder in turn.
282 Args:
283 enc_inputs: the sequence to the encoder (required). [batch_size, src_len]
284 """
285 # [batch_size, src_len, d_model]
286 word_emb = self.input_emb(enc_inputs)
287
288 self.pos_emb.initialize(enc_inputs)
289 self.pos_emb.from_pretrained(W=TransformerEncoder._get_sinusoid_encoding_table(self.src_n_token, self.d_model), freeze=True)
290 # [batch_size, src_len, d_model]
291 pos_emb = self.pos_emb(enc_inputs)
292 # enc_outputs [batch_size, src_len, d_model]
293 enc_outputs = autograd.add(word_emb, pos_emb)
294
295 # enc_self_attn_mask [batch_size, src_len, src_len]
296 enc_self_attn_mask = TransformerEncoder._get_attn_pad_mask(enc_inputs, enc_inputs)
297
298 enc_self_attns = []
299 for layer in self.layers:
300 enc_outputs, enc_self_attn = layer(enc_outputs, enc_self_attn_mask)
301 enc_self_attns.append(enc_self_attn)
302 return enc_outputs, enc_self_attns
303
304 @staticmethod
305 def _get_attn_pad_mask(seq_q, seq_k):

Callers

nothing calls this directly

Calls 5

from_pretrainedMethod · 0.80
appendMethod · 0.80
initializeMethod · 0.45
_get_attn_pad_maskMethod · 0.45

Tested by

no test coverage detected