pub struct CausalMasker;
Implementations§
source§impl CausalMasker
impl CausalMasker
sourcepub fn expand_mask(
&self,
mask: &Tensor,
dtype: DType,
tgt_len: Option<usize>,
) -> Result<Tensor, Error>
pub fn expand_mask( &self, mask: &Tensor, dtype: DType, tgt_len: Option<usize>, ) -> Result<Tensor, Error>
Expands a mask from (bs, seq_len) to (bs, 1, tgt_len, seq_len) If tgt_len is None, use seq_len
pub fn calculate_past_kv_len( &self, cache: &[Option<(Tensor, Tensor)>], ) -> Result<usize, Error>
pub fn make_causal_mask_matrix( &self, input_ids: &Tensor, cache: &dyn PastKvLenCache, dtype: DType, n_attn_heads: usize, ) -> Result<Option<Tensor>, Error>
pub fn make_sliding_window_causal_mask_matrix( &self, input_ids: &Tensor, cache: &dyn PastKvLenCache, sliding_window: Option<usize>, dtype: DType, n_attn_heads: usize, ) -> Result<Option<Tensor>, Error>
pub fn make_causal_mask_as_attn_bias( &self, input_ids: &Tensor, cache: &dyn PastKvLenCache, dtype: DType, n_attn_heads: usize, ) -> Result<Option<Tensor>, Error>
👎Deprecated since 0.3.4: use
make_causal_mask_matrix_as_attn_bias
instead. This is incompatible with Sdpa
.pub fn make_causal_mask_with_sliding_window_as_attn_bias( &self, input_ids: &Tensor, cache: &dyn PastKvLenCache, sliding_window: Option<usize>, dtype: DType, n_attn_heads: usize, ) -> Result<Option<Tensor>, Error>
👎Deprecated since 0.3.4: use
make_causal_mask_matrix_with_sliding_window_as_attn_bias
instead. This is incompatible with Sdpa
.pub fn apply_mask_one_and_zero( &self, mask: &Option<Tensor>, att: Tensor, neg_inf: &Tensor, ) -> Result<Tensor, Error>
Auto Trait Implementations§
impl Freeze for CausalMasker
impl RefUnwindSafe for CausalMasker
impl Send for CausalMasker
impl Sync for CausalMasker
impl Unpin for CausalMasker
impl UnwindSafe for CausalMasker
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<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any
.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any
.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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