MCPcopy Create free account
hub / github.com/evilsocket/cake / forward

Method forward

cake-core/src/models/luxtts/text_encoder.rs:80–94  ·  view source on GitHub ↗

Forward pass: token_ids [batch, seq] -> [batch, seq, feat_dim].

(&self, token_ids: &Tensor)

Source from the content-addressed store, hash-verified

78
79 /// Forward pass: token_ids [batch, seq] -> [batch, seq, feat_dim].
80 pub fn forward(&self, token_ids: &Tensor) -> Result<Tensor> {
81 let x = self.backend.embedding(token_ids, &self.embed_weight)?;
82 let x = self.backend.linear_forward(&x, &self.in_proj_weight, self.in_proj_bias.as_ref())?;
83
84 let seq_len = x.dim(1)?;
85 let pos_emb = self.make_pos_emb(seq_len, x.device(), x.dtype())?;
86
87 let mut x = x;
88 for layer in &self.layers {
89 x = layer.forward(&x, &pos_emb, None)?;
90 }
91
92 let x = self.backend.linear_forward(&x, &self.out_proj_weight, self.out_proj_bias.as_ref())?;
93 Ok(x)
94 }
95
96 /// Create CompactRelPositionalEncoding [1, 2*seq-1, pos_dim].
97 fn make_pos_emb(&self, seq_len: usize, device: &Device, dtype: DType) -> Result<Tensor> {

Callers

nothing calls this directly

Calls 5

embeddingMethod · 0.80
dtypeMethod · 0.80
linear_forwardMethod · 0.45
make_pos_embMethod · 0.45
deviceMethod · 0.45

Tested by

no test coverage detected