public interface Listener
SameDiff
listener interface that is called during every iteration of training or inferenceModifier and Type | Method and 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 iterator
|
void |
epochStart(SameDiff sd,
At at)
Called at the start of every epoch, when fitting from an iterator
|
boolean |
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 completed
|
void |
iterationStart(SameDiff sd,
At at,
MultiDataSet data,
long etlTimeMs)
Called at the start of every iteration (minibatch), before any operations have been executed
|
void |
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 execution
|
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
|
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.
|
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
|
ListenerVariables requiredVariables(SameDiff sd)
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.
boolean isActive(Operation operation)
void epochStart(SameDiff sd, At at)
sd
- The SameDiff instanceat
- Current iteration/epoch etcListenerResponse epochEnd(SameDiff sd, At at, LossCurve lossCurve, long epochTimeMillis)
sd
- The SameDiff instanceat
- Current iteration/epoch etclossCurve
- The losses so farepochTimeMillis
- How long this epoch tookListenerResponse validationDone(SameDiff sd, At at, long validationTimeMillis)
sd
- The SameDiff instanceat
- Current iteration/epoch etcvalidationTimeMillis
- How long validation took for this epochvoid iterationStart(SameDiff sd, At at, MultiDataSet data, long etlTimeMs)
sd
- The SameDiff instanceat
- Current iteration/epoch etcvoid iterationDone(SameDiff sd, At at, MultiDataSet dataSet, Loss loss)
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 trainingvoid operationStart(SameDiff sd, Operation op)
sd
- The SameDiff instanceop
- The operation being startedvoid operationEnd(SameDiff sd, Operation op)
sd
- The SameDiff instanceop
- The operation being startedvoid preOpExecution(SameDiff sd, At at, SameDiffOp op, OpContext opContext)
sd
- The SameDiff instanceat
- Current iteration/epoch etcop
- Operation that has just been executedvoid opExecution(SameDiff sd, At at, MultiDataSet batch, SameDiffOp op, OpContext opContext, INDArray[] outputs)
Note: Outputs will most likely be freed later, use detach() if you need to save it.
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 operationvoid activationAvailable(SameDiff sd, At at, MultiDataSet batch, SameDiffOp op, String varName, INDArray activation)
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 from requiredVariables(SameDiff)
It is guaranteed to be called for variables from requiredVariables().
Note that the activations here overlap with opExecution(SameDiff, At, MultiDataSet, SameDiffOp, OpContext, INDArray[])
-
both contain the same information/arrays
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 activationvoid preUpdate(SameDiff sd, At at, Variable v, INDArray update)
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)Copyright © 2020. All rights reserved.