pub enum MaybeQuantized<M>where
M: Quantizable,{
Original(M),
Quantized(M::Quantized),
}
Expand description
A wrapper for a quantizable module.
Variants§
Implementations§
Source§impl<M> MaybeQuantized<M>where
M: Quantizable,
impl<M> MaybeQuantized<M>where
M: Quantizable,
Sourcepub fn new(module: M) -> Self
pub fn new(module: M) -> Self
Create a new MaybeQuantized
from the original module.
Sourcepub fn quantize_with(
self,
op: impl FnOnce(M) -> Result<M::Quantized, M::QuantizationError>,
) -> Result<Self, M::QuantizationError>
pub fn quantize_with( self, op: impl FnOnce(M) -> Result<M::Quantized, M::QuantizationError>, ) -> Result<Self, M::QuantizationError>
Quantize the module with a custom quantization function.
This is useful if one would like to quantize with a custom group size or bit width.
Sourcepub fn is_quantized(&self) -> bool
pub fn is_quantized(&self) -> bool
Check if the module is quantized.
Trait Implementations§
Source§impl<M> Clone for MaybeQuantized<M>
impl<M> Clone for MaybeQuantized<M>
Source§fn clone(&self) -> MaybeQuantized<M>
fn clone(&self) -> MaybeQuantized<M>
Returns a copy 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<M> Debug for MaybeQuantized<M>
impl<M> Debug for MaybeQuantized<M>
Source§impl<M, Input> Module<Input> for MaybeQuantized<M>
impl<M, Input> Module<Input> for MaybeQuantized<M>
Source§impl<M> ModuleParameters for MaybeQuantized<M>
impl<M> ModuleParameters for MaybeQuantized<M>
Source§fn parameters(&self) -> ModuleParamRef<'_>
fn parameters(&self) -> ModuleParamRef<'_>
Get references to the module parameters.
Source§fn parameters_mut(&mut self) -> ModuleParamMut<'_>
fn parameters_mut(&mut self) -> ModuleParamMut<'_>
Get mutable references to the module parameters.
Source§fn trainable_parameters(&self) -> ModuleParamRef<'_>
fn trainable_parameters(&self) -> ModuleParamRef<'_>
Get references to the trainable parameters. A parameter is trainable if it is NOT frozen.
Source§fn freeze_parameters(&mut self, recursive: bool)
fn freeze_parameters(&mut self, recursive: bool)
Freeze all parameters in the module.
Source§fn unfreeze_parameters(&mut self, recursive: bool)
fn unfreeze_parameters(&mut self, recursive: bool)
Unfreeze all parameters in the module.
Source§fn all_frozen(&self) -> Option<bool>
fn all_frozen(&self) -> Option<bool>
Check if all parameters in the module are frozen. Returns
None
if there are no parameters.Source§fn any_frozen(&self) -> Option<bool>
fn any_frozen(&self) -> Option<bool>
Check if any parameter in the module is frozen. Returns
None
if there are no parameters.Source§fn update(&mut self, parameters: ModuleParam)
fn update(&mut self, parameters: ModuleParam)
Update the module parameters.
Source§fn update_flattened(&mut self, flattened_parameters: FlattenedModuleParam)
fn update_flattened(&mut self, flattened_parameters: FlattenedModuleParam)
Update the module parameters from a flattened representation.
Source§impl<M> Quantizable for MaybeQuantized<M>where
M: Quantizable,
impl<M> Quantizable for MaybeQuantized<M>where
M: Quantizable,
Source§type Quantized = MaybeQuantized<M>
type Quantized = MaybeQuantized<M>
The quantized type.
Source§type QuantizationError = <M as Quantizable>::QuantizationError
type QuantizationError = <M as Quantizable>::QuantizationError
The error type for quantization.
Source§fn try_into_quantized(
self,
group_size: i32,
bits: i32,
) -> Result<Self, Self::QuantizationError>
fn try_into_quantized( self, group_size: i32, bits: i32, ) -> Result<Self, Self::QuantizationError>
Quantize the module with the specified group size and number of bits.
Source§const DEFAULT_GROUP_SIZE: i32 = 64i32
const DEFAULT_GROUP_SIZE: i32 = 64i32
The default group size for quantization.
Source§const DEFAULT_BITS: i32 = 4i32
const DEFAULT_BITS: i32 = 4i32
The default number of bits for quantization.
Auto Trait Implementations§
impl<M> Freeze for MaybeQuantized<M>
impl<M> RefUnwindSafe for MaybeQuantized<M>
impl<M> Send for MaybeQuantized<M>
impl<M> Sync for MaybeQuantized<M>
impl<M> Unpin for MaybeQuantized<M>
impl<M> UnwindSafe for MaybeQuantized<M>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Convert into an
Option
.Source§impl<T> IntoStrideBy for T
impl<T> IntoStrideBy for T
Source§impl<T> ModuleParametersExt for Twhere
T: ModuleParameters,
impl<T> ModuleParametersExt for Twhere
T: ModuleParameters,
Source§impl<T> Parameter for Twhere
T: ModuleParameters,
impl<T> Parameter for Twhere
T: ModuleParameters,
Source§fn is_frozen(&self) -> Option<bool>
fn is_frozen(&self) -> Option<bool>
Check if the parameter is frozen. Returns
None
if the parameter is a module that has no
parameters.Source§fn as_nested_value(&self) -> NestedValue<Rc<str>, &Array>
fn as_nested_value(&self) -> NestedValue<Rc<str>, &Array>
Get the parameter as a nested value.
Source§fn as_nested_value_mut(&mut self) -> NestedValue<Rc<str>, &mut Array>
fn as_nested_value_mut(&mut self) -> NestedValue<Rc<str>, &mut Array>
Get the parameter as a mutable nested value.
Source§fn as_trainable_nested_value(&self) -> Option<NestedValue<Rc<str>, &Array>>
fn as_trainable_nested_value(&self) -> Option<NestedValue<Rc<str>, &Array>>
Get the parameter as a nested value if it is trainable.
Source§impl<T> Updatable for Twhere
T: ModuleParameters,
impl<T> Updatable for Twhere
T: ModuleParameters,
Source§fn updatable_states(&self) -> impl IntoIterator<Item = &Array>
fn updatable_states(&self) -> impl IntoIterator<Item = &Array>
Returns a list of references to the updatable states. Read more
Source§fn updatable_states_mut(&mut self) -> impl IntoIterator<Item = &mut Array>
fn updatable_states_mut(&mut self) -> impl IntoIterator<Item = &mut Array>
Returns a list of mutable references to the updatable states. Read more