MCPcopy Create free account
hub / github.com/FunAudioLLM/SenseVoice / forward

Method forward

model.py:546–577  ·  view source on GitHub ↗

Embed positions in tensor.

(
        self,
        xs_pad: torch.Tensor,
        ilens: torch.Tensor,
    )

Source from the content-addressed store, hash-verified

544 return self._output_size
545
546 def forward(
547 self,
548 xs_pad: torch.Tensor,
549 ilens: torch.Tensor,
550 ):
551 """Embed positions in tensor."""
552 masks = sequence_mask(ilens, device=ilens.device)[:, None, :]
553
554 xs_pad *= self.output_size() ** 0.5
555
556 xs_pad = self.embed(xs_pad)
557
558 # forward encoder1
559 for layer_idx, encoder_layer in enumerate(self.encoders0):
560 encoder_outs = encoder_layer(xs_pad, masks)
561 xs_pad, masks = encoder_outs[0], encoder_outs[1]
562
563 for layer_idx, encoder_layer in enumerate(self.encoders):
564 encoder_outs = encoder_layer(xs_pad, masks)
565 xs_pad, masks = encoder_outs[0], encoder_outs[1]
566
567 xs_pad = self.after_norm(xs_pad)
568
569 # forward encoder2
570 olens = masks.squeeze(1).sum(1).int()
571
572 for layer_idx, encoder_layer in enumerate(self.tp_encoders):
573 encoder_outs = encoder_layer(xs_pad, masks)
574 xs_pad, masks = encoder_outs[0], encoder_outs[1]
575
576 xs_pad = self.tp_norm(xs_pad)
577 return xs_pad, olens
578
579
580@tables.register("model_classes", "SenseVoiceSmall")

Callers

nothing calls this directly

Calls 2

output_sizeMethod · 0.95
sequence_maskFunction · 0.85

Tested by

no test coverage detected