pub struct WhisperRunner {
pub device: Device,
pub activation_dtype: DType,
/* private fields */
}Fields§
§device: Device§activation_dtype: DTypeImplementations§
Source§impl WhisperRunner
impl WhisperRunner
pub fn builder() -> WhisperRunnerBuilder
pub fn config(&self) -> &WhisperConfig
Sourcepub fn decode_buckets_compiled(&self) -> usize
pub fn decode_buckets_compiled(&self) -> usize
Number of bucketed decode graphs compiled so far (bench / tuning).
pub fn mel_frames(&self) -> usize
pub fn enc_seq(&self) -> usize
Sourcepub fn decode_device(&self) -> Device
pub fn decode_device(&self) -> Device
Device that runs bucketed decode graphs (may differ from Self::device on Metal/MLX).
Sourcepub fn stage_device(&self) -> Device
pub fn stage_device(&self) -> Device
Device that runs encoder, cross, prefill, and decode graphs.
pub fn uses_gpu_kv(&self) -> bool
pub fn encode_mel(&mut self, mel: &MelSpectrogram) -> Result<Vec<f32>, Error>
pub fn encode_pcm(&mut self, samples: &[f32]) -> Result<Vec<f32>, Error>
pub fn encode_wav(&mut self, path: &Path) -> Result<Vec<f32>, Error>
pub fn prefill_prompt( &mut self, cross: &LayerKvCache, prompt_tokens: &[u32], batch: usize, ) -> Result<(Vec<f32>, LayerKvCache), Error>
Sourcepub fn swap_decode_cache(&mut self, other: &mut WhisperRunner)
pub fn swap_decode_cache(&mut self, other: &mut WhisperRunner)
Exchange bucketed decode compile caches (precision: share CPU-compiled graphs).
Sourcepub fn decode_one_step(
&mut self,
cross: &LayerKvCache,
token: u32,
cache: &mut LayerKvCache,
) -> Result<Vec<f32>, Error>
pub fn decode_one_step( &mut self, cross: &LayerKvCache, token: u32, cache: &mut LayerKvCache, ) -> Result<Vec<f32>, Error>
Single greedy decode step (for cross-backend parity checks).
pub fn encode_mel_batch( &mut self, mels: &[MelSpectrogram], ) -> Result<Vec<f32>, Error>
Sourcepub fn bench_greedy_pipeline(
&mut self,
pcm: &[f32],
decode_steps: usize,
warmup: usize,
) -> Result<(WhisperBenchReport, String), Error>
pub fn bench_greedy_pipeline( &mut self, pcm: &[f32], decode_steps: usize, warmup: usize, ) -> Result<(WhisperBenchReport, String), Error>
Per-stage greedy-decode timings (after optional warmup). Includes last prefill logits for parity checks.
Sourcepub fn bench_greedy_from_encoder(
&mut self,
enc: &[f32],
decode_steps: usize,
) -> Result<(WhisperBenchReport, String), Error>
pub fn bench_greedy_from_encoder( &mut self, enc: &[f32], decode_steps: usize, ) -> Result<(WhisperBenchReport, String), Error>
Greedy decode benchmark from a fixed encoder output (cross-backend precision: share CPU enc).
Sourcepub fn bench_greedy_from_cross(
&mut self,
cross: &LayerKvCache,
decode_steps: usize,
) -> Result<(WhisperBenchReport, String), Error>
pub fn bench_greedy_from_cross( &mut self, cross: &LayerKvCache, decode_steps: usize, ) -> Result<(WhisperBenchReport, String), Error>
Greedy decode from a fixed cross-attention cache (share CPU cross for precision).
Sourcepub fn bench_greedy_decode_from_state(
&mut self,
cross: &LayerKvCache,
prompt: &[u32],
prefill_logits: Vec<f32>,
cache: LayerKvCache,
decode_steps: usize,
) -> Result<(WhisperBenchReport, String), Error>
pub fn bench_greedy_decode_from_state( &mut self, cross: &LayerKvCache, prompt: &[u32], prefill_logits: Vec<f32>, cache: LayerKvCache, decode_steps: usize, ) -> Result<(WhisperBenchReport, String), Error>
Greedy decode from CPU prefill logits + KV (cross-backend decode parity).
pub fn cross_cache_batch( &mut self, enc: &[f32], batch: usize, ) -> Result<LayerKvCache, Error>
pub fn transcribe_greedy(&mut self, pcm: &[f32]) -> Result<String, Error>
pub fn transcribe_beam(&mut self, pcm: &[f32]) -> Result<String, Error>
pub fn transcribe_with_vad(&mut self, pcm: &[f32]) -> Result<String, Error>
pub fn transcribe_regions_batched( &mut self, pcm: &[f32], regions: &[SpeechSegment], beam_size: usize, ) -> Result<Vec<String>, Error>
pub fn build_prompt(&self) -> Result<Vec<u32>, Error>
Auto Trait Implementations§
impl !Freeze for WhisperRunner
impl !RefUnwindSafe for WhisperRunner
impl !Sync for WhisperRunner
impl !UnwindSafe for WhisperRunner
impl Send for WhisperRunner
impl Unpin for WhisperRunner
impl UnsafeUnpin for WhisperRunner
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more