pub struct TransformerTextEncoder { /* private fields */ }Expand description
Transformer-based text encoder that maps token-ID sequences to contextual embeddings.
Uses pure-ndarray f32 multi-head self-attention with sinusoidal position encoding.
Implementations§
Source§impl TransformerTextEncoder
impl TransformerTextEncoder
Sourcepub fn new(config: TransformerEncoderConfig) -> Result<Self>
pub fn new(config: TransformerEncoderConfig) -> Result<Self>
Create a new encoder from the given config.
Sourcepub fn encode_tokens(&self, tokens: &[usize]) -> Result<Array2<f32>>
pub fn encode_tokens(&self, tokens: &[usize]) -> Result<Array2<f32>>
Encode token IDs to contextual embeddings [seq_len, hidden_size].
Sourcepub fn encode_sentence(&self, tokens: &[usize]) -> Result<Array1<f32>>
pub fn encode_sentence(&self, tokens: &[usize]) -> Result<Array1<f32>>
Pool contextual embeddings to a single sentence embedding [hidden_size].
Uses mean pooling across all token positions.
Sourcepub fn encode_with_attention(
&self,
tokens: &[usize],
) -> Result<(Array2<f32>, Vec<Array3<f32>>)>
pub fn encode_with_attention( &self, tokens: &[usize], ) -> Result<(Array2<f32>, Vec<Array3<f32>>)>
Encode tokens and expose per-layer per-head attention weights.
Returns (embeddings [seq, hidden], attention_weights) where
attention_weights[layer] has shape [n_heads, seq, seq].
Sourcepub fn config(&self) -> &TransformerEncoderConfig
pub fn config(&self) -> &TransformerEncoderConfig
Access the encoder configuration.
Sourcepub fn embedding_mut(&mut self) -> &mut Array2<f32>
pub fn embedding_mut(&mut self) -> &mut Array2<f32>
Mutably access the embedding table (for fine-tuning).
Auto Trait Implementations§
impl Freeze for TransformerTextEncoder
impl RefUnwindSafe for TransformerTextEncoder
impl Send for TransformerTextEncoder
impl Sync for TransformerTextEncoder
impl Unpin for TransformerTextEncoder
impl UnsafeUnpin for TransformerTextEncoder
impl UnwindSafe for TransformerTextEncoder
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
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.