Struct QuantScheme
pub struct QuantScheme {
pub value: QuantValue,
pub param: QuantParam,
pub store: QuantStore,
pub level: QuantLevel,
pub mode: QuantMode,
}Expand description
Describes a quantization scheme/configuration.
Fields§
§value: QuantValueThe logical data type of quantized input values (e.g., QInt8).
This defines how values are interpreted during computation, independent of how they’re stored.
param: QuantParamPrecision used for quantization parameters (e.g., scale and biases).
store: QuantStoreData type used for storing quantized values.
level: QuantLevelGranularity level of quantization (e.g., per-tensor).
mode: QuantModeQuantization mode (e.g., symmetric).
Implementations§
§impl QuantScheme
impl QuantScheme
pub fn with_level(self, level: QuantLevel) -> QuantScheme
pub fn with_level(self, level: QuantLevel) -> QuantScheme
Set the quantization level.
pub fn with_mode(self, mode: QuantMode) -> QuantScheme
pub fn with_mode(self, mode: QuantMode) -> QuantScheme
Set the quantization mode.
pub fn with_value(self, value: QuantValue) -> QuantScheme
pub fn with_value(self, value: QuantValue) -> QuantScheme
Set the data type used for quantized values.
pub fn with_store(self, store: QuantStore) -> QuantScheme
pub fn with_store(self, store: QuantStore) -> QuantScheme
Set the data type used to store quantized values.
pub fn with_param(self, param: QuantParam) -> QuantScheme
pub fn with_param(self, param: QuantParam) -> QuantScheme
Set the precision used for quantization parameters
pub fn size_bits_stored(&self) -> usize
pub fn size_bits_stored(&self) -> usize
Returns the size of the quantization storage type in bits.
pub fn size_bits_value(&self) -> usize
pub fn size_bits_value(&self) -> usize
Returns the size of the quantization storage type in bits.
pub fn num_quants(&self) -> usize
pub fn num_quants(&self) -> usize
Returns the number of quantized values stored in a single element.
pub fn native_packing(&self) -> usize
pub fn native_packing(&self) -> usize
Returns the native packing factor for the values. When native packing > 1, the packed
representation stores num_quants elements grouped into packs of native_packing size.
Trait Implementations§
§impl Clone for QuantScheme
impl Clone for QuantScheme
§fn clone(&self) -> QuantScheme
fn clone(&self) -> QuantScheme
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for QuantScheme
impl Debug for QuantScheme
§impl Default for QuantScheme
impl Default for QuantScheme
§fn default() -> QuantScheme
fn default() -> QuantScheme
§impl<'de> Deserialize<'de> for QuantScheme
impl<'de> Deserialize<'de> for QuantScheme
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<QuantScheme, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<QuantScheme, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl Hash for QuantScheme
impl Hash for QuantScheme
§impl Ord for QuantScheme
impl Ord for QuantScheme
§impl PartialEq for QuantScheme
impl PartialEq for QuantScheme
§impl PartialOrd for QuantScheme
impl PartialOrd for QuantScheme
§impl Serialize for QuantScheme
impl Serialize for QuantScheme
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for QuantScheme
impl Eq for QuantScheme
impl StructuralPartialEq for QuantScheme
Auto Trait Implementations§
impl Freeze for QuantScheme
impl RefUnwindSafe for QuantScheme
impl Send for QuantScheme
impl Sync for QuantScheme
impl Unpin for QuantScheme
impl UnwindSafe for QuantScheme
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
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>
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>
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