pub struct RotatingKvCache { /* private fields */ }
Implementations§
source§impl RotatingKvCache
impl RotatingKvCache
pub fn new(dim: usize, max_seq_len: usize) -> Self
pub fn k_cache(&self) -> &RotatingCache
pub fn v_cache(&self) -> &RotatingCache
pub fn k_cache_mut(&mut self) -> &mut RotatingCache
pub fn v_cache_mut(&mut self) -> &mut RotatingCache
pub fn k(&self) -> Result<Option<Tensor>>
pub fn v(&self) -> Result<Option<Tensor>>
pub fn append(&mut self, k: &Tensor, v: &Tensor) -> Result<(Tensor, Tensor)>
pub fn offset(&self) -> usize
pub fn current_seq_len(&self) -> usize
pub fn attn_mask( &self, seq_len: usize, device: &Device, ) -> Result<Option<Tensor>>
pub fn reset(&mut self)
Trait Implementations§
source§impl Clone for RotatingKvCache
impl Clone for RotatingKvCache
source§fn clone(&self) -> RotatingKvCache
fn clone(&self) -> RotatingKvCache
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for RotatingKvCache
impl !RefUnwindSafe for RotatingKvCache
impl Send for RotatingKvCache
impl Sync for RotatingKvCache
impl Unpin for RotatingKvCache
impl !UnwindSafe for RotatingKvCache
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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