pub struct MultiScaleTokenizer { /* private fields */ }Expand description
Multi-scale hierarchical tokenizer
Processes signals at multiple temporal resolutions:
- Level 0: Full resolution (finest details)
- Level 1: 2x downsampled
- Level 2: 4x downsampled
- …
Each level captures patterns at its corresponding scale.
Implementations§
Source§impl MultiScaleTokenizer
impl MultiScaleTokenizer
Sourcepub fn new(input_dim: usize, embed_dim_per_level: usize) -> Self
pub fn new(input_dim: usize, embed_dim_per_level: usize) -> Self
Create a new multi-scale tokenizer with default scales
Default: 3 levels with downsample factors 1, 2, 4
Sourcepub fn with_factors(
input_dim: usize,
embed_dim_per_level: usize,
factors: &[usize],
) -> Self
pub fn with_factors( input_dim: usize, embed_dim_per_level: usize, factors: &[usize], ) -> Self
Create with custom downsample factors
Sourcepub fn with_pool_method(self, method: PoolMethod) -> Self
pub fn with_pool_method(self, method: PoolMethod) -> Self
Set pooling method
Sourcepub fn with_upsample_method(self, method: UpsampleMethod) -> Self
pub fn with_upsample_method(self, method: UpsampleMethod) -> Self
Set upsampling method
Sourcepub fn num_levels(&self) -> usize
pub fn num_levels(&self) -> usize
Get number of levels
Sourcepub fn total_embed_dim(&self) -> usize
pub fn total_embed_dim(&self) -> usize
Get total embedding dimension across all levels
Sourcepub fn encode_level(
&self,
signal: &Array1<f32>,
level: usize,
) -> TokenizerResult<Array1<f32>>
pub fn encode_level( &self, signal: &Array1<f32>, level: usize, ) -> TokenizerResult<Array1<f32>>
Encode at a specific level
Sourcepub fn decode_level(
&self,
embedding: &Array1<f32>,
level: usize,
) -> TokenizerResult<Array1<f32>>
pub fn decode_level( &self, embedding: &Array1<f32>, level: usize, ) -> TokenizerResult<Array1<f32>>
Decode at a specific level
Sourcepub fn encode_all(
&self,
signal: &Array1<f32>,
) -> TokenizerResult<Vec<Array1<f32>>>
pub fn encode_all( &self, signal: &Array1<f32>, ) -> TokenizerResult<Vec<Array1<f32>>>
Encode all levels and concatenate embeddings
Sourcepub fn decode_all(
&self,
embeddings: &[Array1<f32>],
) -> TokenizerResult<Array1<f32>>
pub fn decode_all( &self, embeddings: &[Array1<f32>], ) -> TokenizerResult<Array1<f32>>
Decode all levels and combine
Sourcepub fn encode_concat(
&self,
signal: &Array1<f32>,
) -> TokenizerResult<Array1<f32>>
pub fn encode_concat( &self, signal: &Array1<f32>, ) -> TokenizerResult<Array1<f32>>
Get concatenated encoding (all levels flattened)
Trait Implementations§
Source§impl Clone for MultiScaleTokenizer
impl Clone for MultiScaleTokenizer
Source§fn clone(&self) -> MultiScaleTokenizer
fn clone(&self) -> MultiScaleTokenizer
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MultiScaleTokenizer
impl Debug for MultiScaleTokenizer
Source§impl SignalTokenizer for MultiScaleTokenizer
impl SignalTokenizer for MultiScaleTokenizer
Source§fn encode(&self, signal: &Array1<f32>) -> TokenizerResult<Array1<f32>>
fn encode(&self, signal: &Array1<f32>) -> TokenizerResult<Array1<f32>>
Encode a continuous signal into tokens/embeddings
Source§fn decode(&self, tokens: &Array1<f32>) -> TokenizerResult<Array1<f32>>
fn decode(&self, tokens: &Array1<f32>) -> TokenizerResult<Array1<f32>>
Decode tokens/embeddings back to continuous signal
Source§fn vocab_size(&self) -> usize
fn vocab_size(&self) -> usize
Get the vocabulary size (for discrete tokenizers, 0 for continuous)
Auto Trait Implementations§
impl Freeze for MultiScaleTokenizer
impl RefUnwindSafe for MultiScaleTokenizer
impl Send for MultiScaleTokenizer
impl Sync for MultiScaleTokenizer
impl Unpin for MultiScaleTokenizer
impl UnwindSafe for MultiScaleTokenizer
Blanket Implementations§
Source§impl<T> BatchTokenizer for Twhere
T: SignalTokenizer,
impl<T> BatchTokenizer for Twhere
T: SignalTokenizer,
Source§fn encode_batch(&self, signals: &Array2<f32>) -> TokenizerResult<Array2<f32>>
fn encode_batch(&self, signals: &Array2<f32>) -> TokenizerResult<Array2<f32>>
Encode multiple signals in batch Read more
Source§fn decode_batch(&self, tokens: &Array2<f32>) -> TokenizerResult<Array2<f32>>
fn decode_batch(&self, tokens: &Array2<f32>) -> TokenizerResult<Array2<f32>>
Decode multiple token sequences in batch Read more
Source§fn encode_batch_padded_to(
&self,
signals: &[Array1<f32>],
target_len: usize,
) -> TokenizerResult<Array2<f32>>
fn encode_batch_padded_to( &self, signals: &[Array1<f32>], target_len: usize, ) -> TokenizerResult<Array2<f32>>
Encode batch with padding to handle variable length signals Read more
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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