Adam
classin packageklyn.math.nn.optimizers
public class Adam<T extends AbstractFloat = Float> implements Optimizer<T>
Adam
All Implemented Interfaces: Optimizer

Adaptive moment estimation with per-parameter state and bias correction. Float16 parameters use FP32 master weights and moments; Float/Double retain their own precision. One instance retains its parameter identities across fit calls; use another optimizer to reset it. A fused buffer pass avoids per-element boxing and intermediate tensors.

Example

optimizer = Adam<Float>(learningRate=0.001)

Properties
Modifier and Type Member Description
public readonly property beta1
beta1 as Double
First-moment decay.
public readonly property beta2
beta2 as Double
Second-moment decay.
public readonly property checkpointStates
checkpointStates as ImmutableList<AdamState<T>>
Snapshot of parameter states for checkpoint transport, not tensor copies.
public readonly property epsilon
epsilon as Double
Stabilizer outside the square root.
public readonly property learningRate
learningRate as Double
Positive learning rate.
Constructors
Modifier and Type Member Description
public Adam
Adam(learningRate as Double = 0.001, beta1 as Double = 0.9, beta2 as Double = 0.999, epsilon as Double = 1e-7)
Configures Adam without weight decay or AMSGrad.
Methods
Modifier and Type Member Description
public override apply
apply(parameter as NDArray<T>, gradient as NDArray<T>, gradientScale as Double = 1.0) as Void
Updates moments and one parameter in place without altering the derivative.
public restoreCheckpoint
restoreCheckpoint(states as IList<AdamState<T>>) as Void
Restores checked per-parameter moments and bias-correction powers.
Inherited Methods
methodInherited Methods from Optimizer: apply