#[non_exhaustive]pub enum AttentionMask<'a> {
None,
Causal,
Array(&'a Array),
}Expand description
The mask of scaled_dot_product_attention.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
None
Every query attends to every key.
Causal
Query i attends to keys 0..=i + Lk - Lq (the queries are the last Lq positions).
Array(&'a Array)
A boolean mask (true attends) or an additive mask, broadcastable to
[B, Hq, Lq, Lk].
Trait Implementations§
Source§impl<'a> Clone for AttentionMask<'a>
impl<'a> Clone for AttentionMask<'a>
impl<'a> Copy for AttentionMask<'a>
Source§impl<'a> Debug for AttentionMask<'a>
impl<'a> Debug for AttentionMask<'a>
Source§impl<'a> Default for AttentionMask<'a>
impl<'a> Default for AttentionMask<'a>
Source§impl<'a> From<AttentionMask<'a>> for AttentionOptions<'a>
impl<'a> From<AttentionMask<'a>> for AttentionOptions<'a>
Source§fn from(mask: AttentionMask<'a>) -> Self
fn from(mask: AttentionMask<'a>) -> Self
Options with this mask and nothing else.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for AttentionMask<'a>
impl<'a> !UnwindSafe for AttentionMask<'a>
impl<'a> Freeze for AttentionMask<'a>
impl<'a> Send for AttentionMask<'a>
impl<'a> Sync for AttentionMask<'a>
impl<'a> Unpin for AttentionMask<'a>
impl<'a> UnsafeUnpin for AttentionMask<'a>
Blanket Implementations§
impl<T> AutoreleaseSafe for Twhere
T: ?Sized,
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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