public abstract class BaseGraphVertex extends Object implements GraphVertex
| Modifier and Type | Field and Description |
|---|---|
protected DataType |
dataType |
protected INDArray |
epsilon |
protected ComputationGraph |
graph |
protected INDArray[] |
inputs |
protected VertexIndices[] |
inputVertices
A representation of the vertices that are inputs to this vertex (inputs during forward pass)
Specifically, if inputVertices[X].getVertexIndex() = Y, and inputVertices[X].getVertexEdgeNumber() = Z
then the Zth output of vertex Y is the Xth input to this vertex
|
protected boolean |
outputVertex |
protected VertexIndices[] |
outputVertices
A representation of the vertices that this vertex is connected to (outputs duing forward pass)
Specifically, if outputVertices[X].getVertexIndex() = Y, and outputVertices[X].getVertexEdgeNumber() = Z
then the output of this vertex (there is only one output) is connected to the Zth input of vertex Y
|
protected int |
vertexIndex
The index of this vertex
|
protected String |
vertexName |
| Modifier | Constructor and Description |
|---|---|
protected |
BaseGraphVertex(ComputationGraph graph,
String name,
int vertexIndex,
VertexIndices[] inputVertices,
VertexIndices[] outputVertices,
DataType dataType) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canDoBackward()
Whether the GraphVertex can do backward pass.
|
boolean |
canDoForward()
Whether the GraphVertex can do forward pass.
|
void |
clear()
Clear the internal state (if any) of the GraphVertex.
|
void |
clearVertex()
This method clears inpjut for this vertex
|
TrainingConfig |
getConfig() |
INDArray |
getEpsilon()
Get the epsilon/error (i.e., dL/dOutput) array previously set for this GraphVertex
|
INDArray |
getGradientsViewArray() |
VertexIndices[] |
getInputVertices()
A representation of the vertices that are inputs to this vertex (inputs duing forward pass)
Specifically, if inputVertices[X].getVertexIndex() = Y, and inputVertices[X].getVertexEdgeNumber() = Z then the Zth output of vertex Y is the Xth input to this vertex |
int |
getNumInputArrays()
Get the number of input arrays.
|
int |
getNumOutputConnections()
Get the number of outgoing connections from this GraphVertex.
|
VertexIndices[] |
getOutputVertices()
A representation of the vertices that this vertex is connected to (outputs duing forward pass)
Specifically, if outputVertices[X].getVertexIndex() = Y, and outputVertices[X].getVertexEdgeNumber() = Z
then the Xth output of this vertex is connected to the Zth input of vertex Y
|
int |
getVertexIndex()
Get the index of the GraphVertex
|
String |
getVertexName()
Get the name/label of the GraphVertex
|
boolean |
isInputVertex()
Whether the GraphVertex is an input vertex
|
long |
numParams() |
INDArray |
params() |
Map<String,INDArray> |
paramTable(boolean backpropOnly)
Get the parameter table for the vertex
|
void |
setEpsilon(INDArray epsilon)
Set the errors (epsilon - aka dL/dActivation) for this GraphVertex
|
void |
setInput(int inputNumber,
INDArray input,
LayerWorkspaceMgr workspaceMgr)
Set the input activations.
|
void |
setInputVertices(VertexIndices[] inputVertices)
Sets the input vertices.
|
void |
setLayerAsFrozen()
Only applies to layer vertices.
|
void |
setOutputVertices(VertexIndices[] outputVertices)
set the output vertices.
|
abstract String |
toString() |
boolean |
updaterDivideByMinibatch(String paramName)
DL4J layers typically produce the sum of the gradients during the backward pass for each layer, and if required
(if minibatch=true) then divide by the minibatch size.
However, there are some exceptions, such as the batch norm mean/variance estimate parameters: these "gradients" are actually not gradients, but are updates to be applied directly to the parameter vector. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitdoBackward, doForward, feedForwardMaskArrays, getInputs, getLayer, hasLayer, isOutputVertex, setBackpropGradientsViewArray, setInputs, setOutputVertexprotected ComputationGraph graph
protected String vertexName
protected int vertexIndex
protected VertexIndices[] inputVertices
protected VertexIndices[] outputVertices
protected INDArray[] inputs
protected INDArray epsilon
protected boolean outputVertex
protected DataType dataType
protected BaseGraphVertex(ComputationGraph graph, String name, int vertexIndex, VertexIndices[] inputVertices, VertexIndices[] outputVertices, DataType dataType)
public String getVertexName()
GraphVertexgetVertexName in interface GraphVertexpublic int getVertexIndex()
GraphVertexgetVertexIndex in interface GraphVertexpublic int getNumInputArrays()
GraphVertexgetNumInputArrays in interface GraphVertexpublic int getNumOutputConnections()
GraphVertexgetNumOutputConnections in interface GraphVertexpublic VertexIndices[] getInputVertices()
getInputVertices in interface GraphVertexpublic void setInputVertices(VertexIndices[] inputVertices)
GraphVertexsetInputVertices in interface GraphVertexGraphVertex.getInputVertices()public VertexIndices[] getOutputVertices()
getOutputVertices in interface GraphVertexpublic void setOutputVertices(VertexIndices[] outputVertices)
GraphVertexsetOutputVertices in interface GraphVertexGraphVertex.getOutputVertices()public boolean isInputVertex()
GraphVertexisInputVertex in interface GraphVertexpublic void setInput(int inputNumber,
INDArray input,
LayerWorkspaceMgr workspaceMgr)
GraphVertexsetInput in interface GraphVertexinputNumber - Must be in range 0 to GraphVertex.getNumInputArrays()-1input - The input arraypublic void setEpsilon(INDArray epsilon)
GraphVertexsetEpsilon in interface GraphVertexpublic void clear()
GraphVertexclear in interface GraphVertexpublic boolean canDoForward()
GraphVertexcanDoForward in interface GraphVertexpublic boolean canDoBackward()
GraphVertexcanDoBackward in interface GraphVertexpublic INDArray getEpsilon()
GraphVertexgetEpsilon in interface GraphVertexpublic void setLayerAsFrozen()
GraphVertexsetLayerAsFrozen in interface GraphVertexpublic void clearVertex()
GraphVertexclearVertex in interface GraphVertexpublic Map<String,INDArray> paramTable(boolean backpropOnly)
GraphVertexparamTable in interface TrainableparamTable in interface GraphVertexbackpropOnly - If true: exclude unsupervised training parameterspublic long numParams()
public TrainingConfig getConfig()
public INDArray params()
public INDArray getGradientsViewArray()
getGradientsViewArray in interface Trainablepublic boolean updaterDivideByMinibatch(String paramName)
TrainableupdaterDivideByMinibatch in interface TrainableparamName - Name of the parameterCopyright © 2020. All rights reserved.