public abstract class BaseOptimizer extends Object implements ConvexOptimizer
| Modifier and Type | Field and Description |
|---|---|
protected ComputationGraphUpdater |
computationGraphUpdater |
protected NeuralNetConfiguration |
conf |
static String |
GRADIENT_KEY |
protected int |
iteration |
protected Collection<IterationListener> |
iterationListeners |
protected BackTrackLineSearch |
lineMaximizer |
protected static org.slf4j.Logger |
log |
protected Model |
model |
protected double |
oldScore |
static String |
PARAMS_KEY |
protected double |
score |
static String |
SCORE_KEY |
static String |
SEARCH_DIR |
protected Map<String,Object> |
searchState |
protected double |
step |
protected StepFunction |
stepFunction |
protected double |
stepMax |
protected Collection<TerminationCondition> |
terminationConditions |
protected Updater |
updater |
| Constructor and Description |
|---|
BaseOptimizer(NeuralNetConfiguration conf,
StepFunction stepFunction,
Collection<IterationListener> iterationListeners,
Collection<TerminationCondition> terminationConditions,
Model model) |
BaseOptimizer(NeuralNetConfiguration conf,
StepFunction stepFunction,
Collection<IterationListener> iterationListeners,
Model model) |
| Modifier and Type | Method and Description |
|---|---|
int |
batchSize()
The batch size for the optimizer
|
boolean |
checkTerminalConditions(org.nd4j.linalg.api.ndarray.INDArray gradient,
double oldScore,
double score,
int i)
Check termination conditions
setup a search state
|
ComputationGraphUpdater |
getComputationGraphUpdater() |
NeuralNetConfiguration |
getConf() |
static StepFunction |
getDefaultStepFunctionForOptimizer(Class<? extends ConvexOptimizer> optimizerClass) |
Updater |
getUpdater() |
Pair<Gradient,Double> |
gradientAndScore()
The gradient and score for this optimizer
|
boolean |
optimize()
Optimize call.
|
protected void |
postFirstStep(org.nd4j.linalg.api.ndarray.INDArray gradient) |
void |
postStep(org.nd4j.linalg.api.ndarray.INDArray gradient)
Post step to update searchDirection with new gradient and parameter information
|
void |
preProcessLine()
Pre preProcess to setup initial searchDirection approximation
|
double |
score()
The score for the optimizer so far
|
void |
setBatchSize(int batchSize)
Set the batch size for the optimizer
|
void |
setListeners(Collection<IterationListener> listeners) |
void |
setUpdater(Updater updater) |
void |
setUpdaterComputationGraph(ComputationGraphUpdater updater) |
void |
setupSearchState(Pair<Gradient,Double> pair)
Setup the initial search state
|
void |
updateGradientAccordingToParams(Gradient gradient,
Model model,
int batchSize)
Update the gradient according to the configuration such as adagrad, momentum, and sparsity
|
protected NeuralNetConfiguration conf
protected int iteration
protected static final org.slf4j.Logger log
protected StepFunction stepFunction
protected Collection<IterationListener> iterationListeners
protected Collection<TerminationCondition> terminationConditions
protected Model model
protected BackTrackLineSearch lineMaximizer
protected Updater updater
protected ComputationGraphUpdater computationGraphUpdater
protected double step
protected double score
protected double oldScore
protected double stepMax
public static final String GRADIENT_KEY
public static final String SCORE_KEY
public static final String PARAMS_KEY
public static final String SEARCH_DIR
public BaseOptimizer(NeuralNetConfiguration conf, StepFunction stepFunction, Collection<IterationListener> iterationListeners, Model model)
conf - stepFunction - iterationListeners - model - public BaseOptimizer(NeuralNetConfiguration conf, StepFunction stepFunction, Collection<IterationListener> iterationListeners, Collection<TerminationCondition> terminationConditions, Model model)
conf - stepFunction - iterationListeners - terminationConditions - model - public double score()
ConvexOptimizerscore in interface ConvexOptimizerpublic Updater getUpdater()
getUpdater in interface ConvexOptimizerpublic void setUpdater(Updater updater)
setUpdater in interface ConvexOptimizerpublic ComputationGraphUpdater getComputationGraphUpdater()
getComputationGraphUpdater in interface ConvexOptimizerpublic void setUpdaterComputationGraph(ComputationGraphUpdater updater)
setUpdaterComputationGraph in interface ConvexOptimizerpublic void setListeners(Collection<IterationListener> listeners)
setListeners in interface ConvexOptimizerpublic NeuralNetConfiguration getConf()
getConf in interface ConvexOptimizerpublic Pair<Gradient,Double> gradientAndScore()
ConvexOptimizergradientAndScore in interface ConvexOptimizerpublic boolean optimize()
optimize in interface ConvexOptimizerprotected void postFirstStep(org.nd4j.linalg.api.ndarray.INDArray gradient)
public boolean checkTerminalConditions(org.nd4j.linalg.api.ndarray.INDArray gradient,
double oldScore,
double score,
int i)
ConvexOptimizercheckTerminalConditions in interface ConvexOptimizergradient - layer gradientsi - what iteration the optimizer is onpublic int batchSize()
ConvexOptimizerbatchSize in interface ConvexOptimizerpublic void setBatchSize(int batchSize)
ConvexOptimizersetBatchSize in interface ConvexOptimizerpublic void preProcessLine()
preProcessLine in interface ConvexOptimizerpublic void postStep(org.nd4j.linalg.api.ndarray.INDArray gradient)
postStep in interface ConvexOptimizerpublic void updateGradientAccordingToParams(Gradient gradient, Model model, int batchSize)
ConvexOptimizerupdateGradientAccordingToParams in interface ConvexOptimizergradient - the gradient to modifymodel - the model with the parameters to updatebatchSize - batchSize for updatepublic void setupSearchState(Pair<Gradient,Double> pair)
setupSearchState in interface ConvexOptimizerpair - public static StepFunction getDefaultStepFunctionForOptimizer(Class<? extends ConvexOptimizer> optimizerClass)
Copyright © 2016. All Rights Reserved.