Skip to main content

EncoderDecoderLM

Trait EncoderDecoderLM 

Source
pub trait EncoderDecoderLM: Send + Sync {
    // Required methods
    fn encode(&mut self, cache_id: &str, input: &[u32]) -> EncoderState;
    fn decode_step(
        &mut self,
        cache_id: &str,
        token: u32,
        pos: u32,
        encoder: &EncoderState,
    ) -> Vec<f32>;
    fn release(&mut self, cache_id: &str);
}

Required Methods§

Source

fn encode(&mut self, cache_id: &str, input: &[u32]) -> EncoderState

Encoded side output. Type-erased so different models can carry different shapes (Whisper: [n_audio_frames, hidden]).

Source

fn decode_step( &mut self, cache_id: &str, token: u32, pos: u32, encoder: &EncoderState, ) -> Vec<f32>

Advance the decoder one step, conditioned on encoder produced earlier.

Source

fn release(&mut self, cache_id: &str)

Implementors§