pub struct KLController { /* private fields */ }Expand description
Adaptive KL penalty controller (Ziegler et al. 2019).
Adjusts a coefficient based on measured vs target KL divergence:
- If measured KL > 1.5 * target: multiply coefficient by 2
- If measured KL < target / 1.5: divide coefficient by 2
- Otherwise: leave coefficient unchanged
Implementations§
Auto Trait Implementations§
impl Freeze for KLController
impl RefUnwindSafe for KLController
impl Send for KLController
impl Sync for KLController
impl Unpin for KLController
impl UnwindSafe for KLController
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> 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