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

Method forward

examples/singa_peft/examples/model/trans.py:278–300  ·  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

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