pub struct DistillationConfig {
pub temperature: f32,
pub alpha: f32,
pub strategy: DistillationStrategy,
pub use_feature_matching: bool,
pub feature_matching_layers: HashMap<usize, usize>,
pub use_attention_transfer: bool,
pub attention_loss_weight: f32,
pub progressive: bool,
pub progressive_stages: usize,
pub min_temperature: f32,
}Expand description
Configuration for knowledge distillation
Fields§
§temperature: f32Temperature for softmax in distillation loss (higher = softer)
alpha: f32Weight for distillation loss vs. hard target loss (0.0-1.0)
strategy: DistillationStrategyDistillation strategy to use
use_feature_matching: boolWhether to use feature matching
feature_matching_layers: HashMap<usize, usize>Layers to match features (teacher_layer -> student_layer)
use_attention_transfer: boolWhether to use attention transfer
attention_loss_weight: f32Weight for attention transfer loss
progressive: boolWhether to use progressive distillation
progressive_stages: usizeNumber of progressive stages
min_temperature: f32Minimum temperature for progressive cooling
Trait Implementations§
Source§impl Clone for DistillationConfig
impl Clone for DistillationConfig
Source§fn clone(&self) -> DistillationConfig
fn clone(&self) -> DistillationConfig
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 DistillationConfig
impl Debug for DistillationConfig
Source§impl Default for DistillationConfig
impl Default for DistillationConfig
Source§impl<'de> Deserialize<'de> for DistillationConfig
impl<'de> Deserialize<'de> for DistillationConfig
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 DistillationConfig
impl RefUnwindSafe for DistillationConfig
impl Send for DistillationConfig
impl Sync for DistillationConfig
impl Unpin for DistillationConfig
impl UnsafeUnpin for DistillationConfig
impl UnwindSafe for DistillationConfig
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§fn save_to_file(&self, path: &Path) -> Result<(), TrustformersError>
fn save_to_file(&self, path: &Path) -> Result<(), TrustformersError>
Save to file
Source§fn load_from_file(path: &Path) -> Result<Self, TrustformersError>where
Self: Sized,
fn load_from_file(path: &Path) -> Result<Self, TrustformersError>where
Self: Sized,
Load from file
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