pub struct QATConfig {
pub weight_scheme: QuantizationScheme,
pub activation_scheme: ActivationQuantScheme,
pub symmetric: bool,
pub warmup_epochs: usize,
pub schedule: QATSchedule,
pub quantize_first_last: bool,
pub observer_config: ObserverConfig,
pub use_ste: bool,
}Expand description
QAT training configuration
Fields§
§weight_scheme: QuantizationSchemeWeight quantization scheme
activation_scheme: ActivationQuantSchemeActivation quantization scheme
symmetric: boolWhether to use symmetric quantization
warmup_epochs: usizeNumber of warmup epochs before enabling quantization
schedule: QATScheduleQAT schedule for gradual quantization introduction
quantize_first_last: boolWhether to quantize first and last layers
observer_config: ObserverConfigObserver configuration
use_ste: boolWhether to use straight-through estimator
Trait Implementations§
Source§impl<'de> Deserialize<'de> for QATConfig
impl<'de> Deserialize<'de> for QATConfig
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 QATConfig
impl RefUnwindSafe for QATConfig
impl Send for QATConfig
impl Sync for QATConfig
impl Unpin for QATConfig
impl UnsafeUnpin for QATConfig
impl UnwindSafe for QATConfig
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> ConfigSerializable for Twhere
T: Serialize + for<'de> Deserialize<'de>,
impl<T> ConfigSerializable for Twhere
T: Serialize + for<'de> Deserialize<'de>,
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