pub struct Reference {
pub spec: ModelSpec,
/* private fields */
}Expand description
The reference model over a checkpoint.
Fields§
§spec: ModelSpecImplementations§
Source§impl Reference
impl Reference
pub fn new( spec: ModelSpec, g: impl WeightSource + 'static, ) -> Result<Reference, ReferenceError>
Sourcepub fn with_activations(self, mode: Activations) -> Reference
pub fn with_activations(self, mode: Activations) -> Reference
The same reference with its quantized projections reading mode’s activations.
Sourcepub fn with_kv_storage(self, kv: KvStorage) -> Reference
pub fn with_kv_storage(self, kv: KvStorage) -> Reference
The same reference keeping its attention caches’ rows as kv stores them.
Sourcepub fn with_state_storage(self, state: StateStorage) -> Reference
pub fn with_state_storage(self, state: StateStorage) -> Reference
The same reference keeping its gated-delta memories as state stores them.
Sourcepub fn with_cache_budget(self, bytes: usize) -> Reference
pub fn with_cache_budget(self, bytes: usize) -> Reference
The same reference keeping at most bytes of tensor data in memory.
Sourcepub fn cached(&self, l: usize) -> (&[Vec<f64>], &[Vec<f64>])
pub fn cached(&self, l: usize) -> (&[Vec<f64>], &[Vec<f64>])
Layer l’s cached keys and values, one row per position (empty for a layer that is not attention).
Sourcepub fn memory(&self, l: usize) -> &[f64]
pub fn memory(&self, l: usize) -> &[f64]
Layer l’s gated-delta memory (empty for a layer that is not gated delta).
Sourcepub fn conv(&self, l: usize) -> &[Vec<f64>]
pub fn conv(&self, l: usize) -> &[Vec<f64>]
Layer l’s convolution ring: its last taps − 1 inputs, oldest first (empty for a layer that is not gated
delta).
Sourcepub fn reset(&mut self)
pub fn reset(&mut self)
Forget every position: empty caches, zero recurrent state, no routing or near calls. The calls decided the other way stay decided so.
Sourcepub fn near_calls(&self) -> &[NearCall]
pub fn near_calls(&self) -> &[NearCall]
Every rounding and routing call since the last reset made near its other outcome, in order.
Sourcepub fn flip(&mut self, call: NearCall)
pub fn flip(&mut self, call: NearCall)
Decide a near call the other way at every run past it: a rounding takes the other level, a routing call keeps the first expert it would pass over in place of the last it would keep.
Sourcepub fn closest_routing(&self) -> Option<RoutingCall>
pub fn closest_routing(&self) -> Option<RoutingCall>
The closest routing call since the last reset — None for a model without experts.
Sourcepub fn flip_routing(&mut self, call: RoutingCall)
pub fn flip_routing(&mut self, call: RoutingCall)
Decide one routing call the other way at every run past it: at call’s layer and position the router keeps
the first expert it would pass over in place of the last it would keep — how a run in another precision that
resolves the call the other way routes.
Sourcepub fn step(&mut self, tokens: &[u32]) -> Result<Vec<f64>, ReferenceError>
pub fn step(&mut self, tokens: &[u32]) -> Result<Vec<f64>, ReferenceError>
Run tokens at the next positions, appending them to the state; returns the logits at the last one.
Sourcepub fn step_every(
&mut self,
tokens: &[u32],
) -> Result<Vec<Vec<f64>>, ReferenceError>
pub fn step_every( &mut self, tokens: &[u32], ) -> Result<Vec<Vec<f64>>, ReferenceError>
Run tokens at the next positions, appending them to the state; returns the logits after every one of them —
the distributions a perplexity or a divergence over a text is taken from.
Auto Trait Implementations§
impl Freeze for Reference
impl !RefUnwindSafe for Reference
impl !Send for Reference
impl !Sync for Reference
impl Unpin for Reference
impl UnsafeUnpin for Reference
impl !UnwindSafe for Reference
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.