pub struct CausalMasker;Implementations§
Source§impl CausalMasker
impl CausalMasker
Sourcepub fn expand_mask(
&self,
mask: &Tensor,
dtype: DType,
tgt_len: Option<usize>,
) -> Result<Tensor>
pub fn expand_mask( &self, mask: &Tensor, dtype: DType, tgt_len: Option<usize>, ) -> Result<Tensor>
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>
Sourcepub fn make_causal_mask(
&self,
input_ids: &Tensor,
cache: &dyn PastKvLenCache,
dtype: DType,
cfg: &CausalMaskConfig,
) -> Result<AttentionMask>
pub fn make_causal_mask( &self, input_ids: &Tensor, cache: &dyn PastKvLenCache, dtype: DType, cfg: &CausalMaskConfig, ) -> Result<AttentionMask>
Build a causal attention mask.
- Returns
AttentionMask::Nonefor single-token decode. - Returns
AttentionMask::CausalFlashon CUDA+flash whenforce_customis false (flash handles causality internally). - Returns
AttentionMask::Customwith a real mask tensor otherwise.
pub fn make_chunked_mask_matrix( &self, input_ids: &Tensor, chunk_size: usize, cache: &dyn PastKvLenCache, dtype: DType, _n_attn_heads: usize, ) -> Result<Option<Tensor>>
pub fn apply_mask_one_and_zero( &self, mask: &Option<Tensor>, att: Tensor, neg_inf: &Tensor, ) -> Result<Tensor>
Auto Trait Implementations§
impl Freeze for CausalMasker
impl RefUnwindSafe for CausalMasker
impl Send for CausalMasker
impl Sync for CausalMasker
impl Unpin for CausalMasker
impl UnsafeUnpin 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
Source§impl<T> Downcast for T
impl<T> Downcast for T
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
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.