pub enum PoolingMode {
Last,
Mean,
Max,
Cls,
}Expand description
Strategy for collapsing a sequence of hidden states into a single vector.
The default mode is PoolingMode::Last, which is appropriate for causal
LLMs (the last token’s hidden state encodes the full context).
Variants§
Last
Return the hidden state of the last token in the sequence.
Shape: states[(seq_len - 1) * hidden_size .. seq_len * hidden_size].
This is the natural pooling choice for causal / decoder-only models.
Mean
Elementwise arithmetic mean across all seq_len token hidden states.
result[j] = (1 / seq_len) * Σ_{i=0}^{seq_len-1} states[i * hidden_size + j]
Max
Elementwise maximum across all seq_len token hidden states.
result[j] = max_{i=0..seq_len-1} states[i * hidden_size + j]
Cls
Return the hidden state of the first token (CLS position).
Shape: states[0 .. hidden_size].
This is the standard pooling choice for BERT-style encoder models.
Trait Implementations§
Source§impl Clone for PoolingMode
impl Clone for PoolingMode
Source§fn clone(&self) -> PoolingMode
fn clone(&self) -> PoolingMode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PoolingMode
impl Debug for PoolingMode
Source§impl Default for PoolingMode
impl Default for PoolingMode
Source§fn default() -> PoolingMode
fn default() -> PoolingMode
Source§impl<'de> Deserialize<'de> for PoolingMode
impl<'de> Deserialize<'de> for PoolingMode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for PoolingMode
impl PartialEq for PoolingMode
Source§impl Serialize for PoolingMode
impl Serialize for PoolingMode
impl Copy for PoolingMode
impl Eq for PoolingMode
impl StructuralPartialEq for PoolingMode
Auto Trait Implementations§
impl Freeze for PoolingMode
impl RefUnwindSafe for PoolingMode
impl Send for PoolingMode
impl Sync for PoolingMode
impl Unpin for PoolingMode
impl UnsafeUnpin for PoolingMode
impl UnwindSafe for PoolingMode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
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>
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