pub struct PrecisionSchedule {
pub config: ScheduleConfig,
pub profile_name: String,
pub steps: Vec<StepPrecision>,
pub transitions: Vec<(u32, Precision, Precision)>,
pub avg_vram_ratio: f32,
pub avg_quality_factor: f32,
pub estimated_speedup: f32,
}Expand description
Complete precision schedule for a generation
Fields§
§config: ScheduleConfigConfiguration used to generate this schedule
profile_name: StringProfile used
steps: Vec<StepPrecision>Per-step precision assignments
transitions: Vec<(u32, Precision, Precision)>Precision transition points
avg_vram_ratio: f32Estimated average VRAM ratio
avg_quality_factor: f32Estimated quality factor
estimated_speedup: f32Estimated speedup factor
Implementations§
Source§impl PrecisionSchedule
impl PrecisionSchedule
Sourcepub fn generate(config: ScheduleConfig) -> Result<Self>
pub fn generate(config: ScheduleConfig) -> Result<Self>
Generate a schedule from configuration
Sourcepub fn precision_at(&self, step: u32) -> Result<Precision>
pub fn precision_at(&self, step: u32) -> Result<Precision>
Get precision for a specific step
Sourcepub fn step_info(&self, step: u32) -> Result<&StepPrecision>
pub fn step_info(&self, step: u32) -> Result<&StepPrecision>
Get step precision info
Sourcepub fn next_transition(
&self,
after_step: u32,
) -> Option<(u32, Precision, Precision)>
pub fn next_transition( &self, after_step: u32, ) -> Option<(u32, Precision, Precision)>
Get next transition after a given step
Sourcepub fn steps_at_precision(&self, precision: Precision) -> SmallVec<[u32; 32]>
pub fn steps_at_precision(&self, precision: Precision) -> SmallVec<[u32; 32]>
Get all steps using a specific precision
Sourcepub fn precision_distribution(&self) -> Vec<(Precision, usize, f32)>
pub fn precision_distribution(&self) -> Vec<(Precision, usize, f32)>
Total time at each precision
Sourcepub fn format_timeline(&self) -> String
pub fn format_timeline(&self) -> String
Format as a visual timeline
Trait Implementations§
Source§impl Clone for PrecisionSchedule
impl Clone for PrecisionSchedule
Source§fn clone(&self) -> PrecisionSchedule
fn clone(&self) -> PrecisionSchedule
Returns a duplicate 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 moreSource§impl Debug for PrecisionSchedule
impl Debug for PrecisionSchedule
Source§impl<'de> Deserialize<'de> for PrecisionSchedule
impl<'de> Deserialize<'de> for PrecisionSchedule
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
Auto Trait Implementations§
impl Freeze for PrecisionSchedule
impl RefUnwindSafe for PrecisionSchedule
impl Send for PrecisionSchedule
impl Sync for PrecisionSchedule
impl Unpin for PrecisionSchedule
impl UnwindSafe for PrecisionSchedule
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