MCPcopy Create free account
hub / github.com/OpenMOSS/MOSS / forward

Method forward

models/modeling_moss.py:258–290  ·  view source on GitHub ↗
(
        self,
        hidden_states: Optional[torch.FloatTensor],
        layer_past: Optional[Tuple[torch.Tensor]] = None,
        attention_mask: Optional[torch.FloatTensor] = None,
        position_ids: Optional[torch.LongTensor] = None,
        head_mask: Optional[torch.FloatTensor] = None,
        use_cache: Optional[bool] = False,
        output_attentions: Optional[bool] = False,
    )

Source from the content-addressed store, hash-verified

256 self.mlp = MossMLP(inner_dim, config)
257
258 def forward(
259 self,
260 hidden_states: Optional[torch.FloatTensor],
261 layer_past: Optional[Tuple[torch.Tensor]] = None,
262 attention_mask: Optional[torch.FloatTensor] = None,
263 position_ids: Optional[torch.LongTensor] = None,
264 head_mask: Optional[torch.FloatTensor] = None,
265 use_cache: Optional[bool] = False,
266 output_attentions: Optional[bool] = False,
267 ) -> Union[Tuple[torch.Tensor], Optional[Tuple[torch.Tensor, Tuple[torch.FloatTensor, ...]]]]:
268 residual = hidden_states
269 hidden_states = self.ln_1(hidden_states)
270 attn_outputs = self.attn(
271 hidden_states=hidden_states,
272 layer_past=layer_past,
273 attention_mask=attention_mask,
274 position_ids=position_ids,
275 head_mask=head_mask,
276 use_cache=use_cache,
277 output_attentions=output_attentions,
278 )
279 attn_output = attn_outputs[0] # output_attn: a, present, (attentions)
280 outputs = attn_outputs[1:]
281
282 feed_forward_hidden_states = self.mlp(hidden_states)
283 hidden_states = attn_output + feed_forward_hidden_states + residual
284
285 if use_cache:
286 outputs = (hidden_states,) + outputs
287 else:
288 outputs = (hidden_states,) + outputs[1:]
289
290 return outputs # hidden_states, present, (attentions)
291
292
293class MossPreTrainedModel(PreTrainedModel):

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected