Interface Listener
-
- All Known Implementing Classes:
ActivationGradientCheckListener
,ArraySavingListener
,BaseEvaluationListener
,BaseListener
,CheckpointListener
,ControlflowListener
,ExecDebuggingListener
,HistoryListener
,OpBenchmarkListener
,ProfilingListener
,ScoreListener
,UIListener
public interface Listener
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
activationAvailable(SameDiff sd, At at, MultiDataSet batch, SameDiffOp op, String varName, INDArray activation)
Called when any activation becomes available.ListenerResponse
epochEnd(SameDiff sd, At at, LossCurve lossCurve, long epochTimeMillis)
Called at the end of every epoch, when fitting from an iteratorvoid
epochStart(SameDiff sd, At at)
Called at the start of every epoch, when fitting from an iteratorboolean
isActive(Operation operation)
Returns whether this listener is active during the given operation.void
iterationDone(SameDiff sd, At at, MultiDataSet dataSet, Loss loss)
Called at the end of every iteration, after all operations (including updating parameters) has been completedvoid
iterationStart(SameDiff sd, At at, MultiDataSet data, long etlTimeMs)
Called at the start of every iteration (minibatch), before any operations have been executedvoid
operationEnd(SameDiff sd, Operation op)
Called at the end of an operation, e.g.void
operationStart(SameDiff sd, Operation op)
Called at the start of an operation, e.g.void
opExecution(SameDiff sd, At at, MultiDataSet batch, SameDiffOp op, OpContext opContext, INDArray[] outputs)
Called at the end of each operation executionvoid
preOpExecution(SameDiff sd, At at, SameDiffOp op, OpContext opContext)
Called just before each operation is executed (native code called, etc) - after all inputs etc have been setvoid
preUpdate(SameDiff sd, At at, Variable v, INDArray update)
Called just before each parameter is to be updated - i.e., just before each parameter is modified.ListenerVariables
requiredVariables(SameDiff sd)
Required variables for this listener.ListenerResponse
validationDone(SameDiff sd, At at, long validationTimeMillis)
Called after the end of every epoch, once validation evaluation is done, when training
-
-
-
Method Detail
-
requiredVariables
ListenerVariables requiredVariables(SameDiff sd)
Required variables for this listener.Used to ensure these variables end up in the minimum required subgraph calculated by
InferenceSession
. Otherwise, if the variables weren't required by a loss variable, they would not be calculated.Any variables in here are guaranteed to have
activationAvailable(SameDiff, At, MultiDataSet, SameDiffOp, String, INDArray)
called for them, regardless of whether they would normally be calculated or not.
-
isActive
boolean isActive(Operation operation)
Returns whether this listener is active during the given operation. If this returns false for the given operation, those listener methods will not be called.
-
epochStart
void epochStart(SameDiff sd, At at)
Called at the start of every epoch, when fitting from an iterator- Parameters:
sd
- The SameDiff instanceat
- Current iteration/epoch etc
-
epochEnd
ListenerResponse epochEnd(SameDiff sd, At at, LossCurve lossCurve, long epochTimeMillis)
Called at the end of every epoch, when fitting from an iterator- Parameters:
sd
- The SameDiff instanceat
- Current iteration/epoch etclossCurve
- The losses so farepochTimeMillis
- How long this epoch took- Returns:
- ListenerResponse.STOP to stop training, CONTINUE or null to continue
-
validationDone
ListenerResponse validationDone(SameDiff sd, At at, long validationTimeMillis)
Called after the end of every epoch, once validation evaluation is done, when training- Parameters:
sd
- The SameDiff instanceat
- Current iteration/epoch etcvalidationTimeMillis
- How long validation took for this epoch- Returns:
- ListenerResponse.STOP to stop training, CONTINUE or null to continue
-
iterationStart
void iterationStart(SameDiff sd, At at, MultiDataSet data, long etlTimeMs)
Called at the start of every iteration (minibatch), before any operations have been executed- Parameters:
sd
- The SameDiff instanceat
- Current iteration/epoch etc
-
iterationDone
void iterationDone(SameDiff sd, At at, MultiDataSet dataSet, Loss loss)
Called at the end of every iteration, after all operations (including updating parameters) has been completed- Parameters:
sd
- The SameDiff instanceat
- Current iteration/epoch etcdataSet
- The current dataset (minibatch) used for trainingloss
- The loss value for the current minibatch. Will be null except for during training
-
operationStart
void operationStart(SameDiff sd, Operation op)
Called at the start of an operation, e.g. training or validation- Parameters:
sd
- The SameDiff instanceop
- The operation being started
-
operationEnd
void operationEnd(SameDiff sd, Operation op)
Called at the end of an operation, e.g. training or validation- Parameters:
sd
- The SameDiff instanceop
- The operation being started
-
preOpExecution
void preOpExecution(SameDiff sd, At at, SameDiffOp op, OpContext opContext)
Called just before each operation is executed (native code called, etc) - after all inputs etc have been set- Parameters:
sd
- The SameDiff instanceat
- Current iteration/epoch etcop
- Operation that has just been executed
-
opExecution
void opExecution(SameDiff sd, At at, MultiDataSet batch, SameDiffOp op, OpContext opContext, INDArray[] outputs)
Called at the end of each operation execution
Note: Outputs will most likely be freed later, use detach() if you need to save it.
- Parameters:
sd
- The SameDiff instanceat
- Current iteration/epoch etcbatch
- The batch's input data. May be null if not called with a batchop
- Operation that has just been executedoutputs
- The output arrays for the just-executed operation
-
activationAvailable
void activationAvailable(SameDiff sd, At at, MultiDataSet batch, SameDiffOp op, String varName, INDArray activation)
Called when any activation becomes available.The activation will most likely be freed later, use dup() if you need to save it.
Note that this method will be called when any activation becomes available, not just ones fromrequiredVariables(SameDiff)
It is guaranteed to be called for variables from requiredVariables().
Note that the activations here overlap withopExecution(SameDiff, At, MultiDataSet, SameDiffOp, OpContext, INDArray[])
- both contain the same information/arrays- Parameters:
sd
- The SameDiff instanceat
- Current iteration/epoch etcbatch
- The batch's input data. May be null if not called with a batchop
- Operation that has just been executedvarName
- The name of the variableactivation
- The variable's activation
-
preUpdate
void preUpdate(SameDiff sd, At at, Variable v, INDArray update)
Called just before each parameter is to be updated - i.e., just before each parameter is modified.- Parameters:
sd
- SameDiff instanceat
- The current iteration/epoch etcv
- Variable about to be updated during backpropupdate
- The array representing the update (i.e., the gradient after applying learning rate, momentum, etc)
-
-