pub struct PerLayerQuantSelector { /* private fields */ }Expand description
Selects per-layer quantization bit-widths according to a QuantizationPolicy.
Implementations§
Source§impl PerLayerQuantSelector
impl PerLayerQuantSelector
Sourcepub fn new(policy: QuantizationPolicy) -> Self
pub fn new(policy: QuantizationPolicy) -> Self
Create a new selector with the given policy.
Sourcepub fn assign_bit_widths(
&self,
layers: &[LayerSensitivity],
layer_param_counts: &[usize],
) -> Result<Vec<LayerBitWidthAssignment>, QuantSelectionError>
pub fn assign_bit_widths( &self, layers: &[LayerSensitivity], layer_param_counts: &[usize], ) -> Result<Vec<LayerBitWidthAssignment>, QuantSelectionError>
Assign bit-widths to each layer.
layers and layer_param_counts must be the same length.
Sourcepub fn total_memory_bytes(assignments: &[LayerBitWidthAssignment]) -> usize
pub fn total_memory_bytes(assignments: &[LayerBitWidthAssignment]) -> usize
Total memory footprint in bytes across all assignments.
Sourcepub fn summary_report(
assignments: &[LayerBitWidthAssignment],
) -> QuantizationSummary
pub fn summary_report( assignments: &[LayerBitWidthAssignment], ) -> QuantizationSummary
Generate a human-readable quantization summary.
Auto Trait Implementations§
impl Freeze for PerLayerQuantSelector
impl RefUnwindSafe for PerLayerQuantSelector
impl Send for PerLayerQuantSelector
impl Sync for PerLayerQuantSelector
impl Unpin for PerLayerQuantSelector
impl UnsafeUnpin for PerLayerQuantSelector
impl UnwindSafe for PerLayerQuantSelector
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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