public class Adam extends Object implements IUpdater
Modifier and Type | Class and Description |
---|---|
static class |
Adam.Builder |
Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_ADAM_BETA1_MEAN_DECAY |
static double |
DEFAULT_ADAM_BETA2_VAR_DECAY |
static double |
DEFAULT_ADAM_EPSILON |
static double |
DEFAULT_ADAM_LEARNING_RATE |
Constructor and Description |
---|
Adam() |
Adam(double learningRate) |
Adam(double learningRate,
double beta1,
double beta2,
double epsilon) |
Adam(ISchedule learningRateSchedule) |
Modifier and Type | Method and Description |
---|---|
Adam |
clone()
Clone the updater
|
double |
getLearningRate(int iteration,
int epoch)
Get the learning rate - if any - for the updater, at the specified iteration and epoch.
|
boolean |
hasLearningRate() |
GradientUpdater |
instantiate(INDArray viewArray,
boolean initializeViewArray)
Create a new gradient updater
|
GradientUpdater |
instantiate(Map<String,INDArray> updaterState,
boolean initializeStateArrays) |
void |
setLrAndSchedule(double lr,
ISchedule lrSchedule)
Set the learning rate and schedule.
|
long |
stateSize(long numParams)
Determine the updater state size for the given number of parameters.
|
public static final double DEFAULT_ADAM_LEARNING_RATE
public static final double DEFAULT_ADAM_EPSILON
public static final double DEFAULT_ADAM_BETA1_MEAN_DECAY
public static final double DEFAULT_ADAM_BETA2_VAR_DECAY
public Adam()
public Adam(double learningRate)
public Adam(ISchedule learningRateSchedule)
public Adam(double learningRate, double beta1, double beta2, double epsilon)
public long stateSize(long numParams)
IUpdater
public GradientUpdater instantiate(INDArray viewArray, boolean initializeViewArray)
IUpdater
instantiate
in interface IUpdater
viewArray
- The updater state size view awayinitializeViewArray
- If true: initialise the updater statepublic GradientUpdater instantiate(Map<String,INDArray> updaterState, boolean initializeStateArrays)
instantiate
in interface IUpdater
public double getLearningRate(int iteration, int epoch)
IUpdater
getLearningRate
in interface IUpdater
iteration
- Iteration at which to get the learning rateepoch
- Epoch at which to get the learning ratepublic boolean hasLearningRate()
hasLearningRate
in interface IUpdater
public void setLrAndSchedule(double lr, ISchedule lrSchedule)
IUpdater
IUpdater.hasLearningRate()
returns false.setLrAndSchedule
in interface IUpdater
lr
- Learning rate to set (typically not used if LR schedule is non-null)lrSchedule
- Learning rate schedule to set (may be null)Copyright © 2020. All rights reserved.