pub struct SteConfig {
pub threshold: f64,
pub clip_gradients: bool,
}Expand description
Straight-Through Estimator (STE) gradient configuration.
STE allows gradients to flow through non-differentiable operations by using a different forward and backward pass:
- Forward: Apply the discrete/thresholded operation
- Backward: Pass gradients through as if it were identity
Fields§
§threshold: f64Threshold for binarization (default: 0.5)
clip_gradients: boolWhether to clip gradients to [-1, 1] range
Trait Implementations§
impl Copy for SteConfig
Auto Trait Implementations§
impl Freeze for SteConfig
impl RefUnwindSafe for SteConfig
impl Send for SteConfig
impl Sync for SteConfig
impl Unpin for SteConfig
impl UnwindSafe for SteConfig
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 more