pub struct Lamb {
pub lr: f32,
pub beta1: f32,
pub beta2: f32,
pub eps: f32,
pub weight_decay: f32,
pub bias_correction: bool,
/* private fields */
}Expand description
Layer-wise Adaptive Moments for Batch training.
Per-tensor state: two f32 buffers + a per-call scratch buffer
for the trust-ratio numerator (allocated inside Optimizer::step).
Fields§
§lr: f32Learning rate.
beta1: f32First-moment EMA decay β₁. Default 0.9.
beta2: f32Second-moment EMA decay β₂. Default 0.999.
eps: f32Denominator stability constant. Default 1e-6 (looser than
Adam’s 1e-8 — matches NVIDIA’s reference).
weight_decay: f32Decoupled weight-decay coefficient λ. Default 0.01.
bias_correction: boolIf true, divide by bias-corrected moments. Defaults to true
(matches NVIDIA’s reference impl); the original paper omits it.
Implementations§
Trait Implementations§
Source§impl Optimizer for Lamb
impl Optimizer for Lamb
fn step( &mut self, name: &str, _shape: &[usize], param: &mut [f32], grad: &[f32], )
Source§fn end_iteration(&mut self)
fn end_iteration(&mut self)
Advance the global step counter. Most algorithms increment per
call to [
step], so most implementations leave this a no-op.Source§fn lr_scale(&self, _name: &str) -> f32
fn lr_scale(&self, _name: &str) -> f32
Per-tensor multiplier on the effective learning rate. Default
is
1.0 for every name. Override when wrapping this crate to
support per-name LR schedules (e.g. embedding-vs-attention
splits, or the Gaussian-splat attribute-typed LR setup). The
CPU impls in this crate currently honor this only when the
caller passes a pre-scaled lr for the relevant call —
backends are encouraged to consult it inside their fused
kernel.Auto Trait Implementations§
impl Freeze for Lamb
impl RefUnwindSafe for Lamb
impl Send for Lamb
impl Sync for Lamb
impl Unpin for Lamb
impl UnsafeUnpin for Lamb
impl UnwindSafe for Lamb
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