pub struct LayerSchedule<P> { /* private fields */ }Expand description
Validated, ordered policy for every decoder layer.
Implementations§
Source§impl<P> LayerSchedule<P>
impl<P> LayerSchedule<P>
Sourcepub fn new(
layer_count: usize,
layers: Vec<P>,
) -> Result<Self, LayerScheduleError>
pub fn new( layer_count: usize, layers: Vec<P>, ) -> Result<Self, LayerScheduleError>
Validates an exact ordered policy list against the decoder layer count.
Sourcepub const fn len(&self) -> usize
pub const fn len(&self) -> usize
Returns the number of decoder layers represented by the schedule.
Sourcepub fn get(&self, layer: usize) -> Option<&P>
pub fn get(&self, layer: usize) -> Option<&P>
Returns one layer policy, with out-of-range indices reported as None.
Sourcepub fn iter(&self) -> impl ExactSizeIterator<Item = &P> + '_
pub fn iter(&self) -> impl ExactSizeIterator<Item = &P> + '_
Iterates over policies in architecture layer order.
Source§impl LayerSchedule<AttentionPolicy>
impl LayerSchedule<AttentionPolicy>
Sourcepub fn all_full(layer_count: usize) -> Result<Self, LayerScheduleError>
pub fn all_full(layer_count: usize) -> Result<Self, LayerScheduleError>
Creates an all-full attention schedule.
Sourcepub fn all_sliding(
layer_count: usize,
window: u32,
) -> Result<Self, LayerScheduleError>
pub fn all_sliding( layer_count: usize, window: u32, ) -> Result<Self, LayerScheduleError>
Creates an all-sliding attention schedule.
Sourcepub fn from_sliding_pattern(
layer_count: usize,
pattern: &[bool],
window: Option<u32>,
) -> Result<Self, LayerScheduleError>
pub fn from_sliding_pattern( layer_count: usize, pattern: &[bool], window: Option<u32>, ) -> Result<Self, LayerScheduleError>
Creates a schedule from a Boolean pattern where true means sliding.
Sourcepub fn full_layer_count(&self) -> usize
pub fn full_layer_count(&self) -> usize
Returns the number of full-attention layers.
Sourcepub fn sliding_layer_count(&self) -> usize
pub fn sliding_layer_count(&self) -> usize
Returns the number of sliding-attention layers.
Sourcepub fn sliding_windows(&self) -> BTreeMap<NonZeroU32, usize>
pub fn sliding_windows(&self) -> BTreeMap<NonZeroU32, usize>
Counts sliding layers by exact window.
Sourcepub fn fingerprint_component(&self) -> String
pub fn fingerprint_component(&self) -> String
Returns a stable representation suitable for fingerprints.
Trait Implementations§
Source§impl<P: Clone> Clone for LayerSchedule<P>
impl<P: Clone> Clone for LayerSchedule<P>
Source§fn clone(&self) -> LayerSchedule<P>
fn clone(&self) -> LayerSchedule<P>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<P: Debug> Debug for LayerSchedule<P>
impl<P: Debug> Debug for LayerSchedule<P>
Source§impl<'de, P> Deserialize<'de> for LayerSchedule<P>where
P: Deserialize<'de>,
impl<'de, P> Deserialize<'de> for LayerSchedule<P>where
P: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl<P: Eq> Eq for LayerSchedule<P>
Source§impl<P: Hash> Hash for LayerSchedule<P>
impl<P: Hash> Hash for LayerSchedule<P>
Source§impl<P: PartialEq> PartialEq for LayerSchedule<P>
impl<P: PartialEq> PartialEq for LayerSchedule<P>
Source§impl<P> Serialize for LayerSchedule<P>where
P: Serialize,
impl<P> Serialize for LayerSchedule<P>where
P: Serialize,
impl<P: PartialEq> StructuralPartialEq for LayerSchedule<P>
Auto Trait Implementations§
impl<P> Freeze for LayerSchedule<P>
impl<P> RefUnwindSafe for LayerSchedule<P>
impl<P> Send for LayerSchedule<P>
impl<P> Sync for LayerSchedule<P>
impl<P> Unpin for LayerSchedule<P>
impl<P> UnsafeUnpin for LayerSchedule<P>
impl<P> UnwindSafe for LayerSchedule<P>
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