Class LayerVertex
- java.lang.Object
-
- org.deeplearning4j.nn.graph.vertex.BaseGraphVertex
-
- org.deeplearning4j.nn.graph.vertex.impl.LayerVertex
-
- All Implemented Interfaces:
Serializable,Trainable,GraphVertex
public class LayerVertex extends BaseGraphVertex
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.deeplearning4j.nn.graph.vertex.BaseGraphVertex
dataType, epsilon, graph, inputs, inputVertices, outputVertex, outputVertices, vertexIndex, vertexName
-
-
Constructor Summary
Constructors Constructor Description LayerVertex(ComputationGraph graph, String name, int vertexIndex, Layer layer, InputPreProcessor layerPreProcessor, boolean outputVertex, DataType dataType)Create a network input vertex:LayerVertex(ComputationGraph graph, String name, int vertexIndex, VertexIndices[] inputVertices, VertexIndices[] outputVertices, Layer layer, InputPreProcessor layerPreProcessor, boolean outputVertex, DataType dataType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidapplyPreprocessorAndSetInput(LayerWorkspaceMgr workspaceMgr)booleancanDoBackward()Whether the GraphVertex can do backward pass.doublecomputeScore(double r, boolean training, LayerWorkspaceMgr workspaceMgr)INDArraycomputeScoreForExamples(double r, LayerWorkspaceMgr workspaceMgr)Pair<Gradient,INDArray[]>doBackward(boolean tbptt, LayerWorkspaceMgr workspaceMgr)Do backward passINDArraydoForward(boolean training, LayerWorkspaceMgr workspaceMgr)Do forward pass using the stored inputsPair<INDArray,MaskState>feedForwardMaskArrays(INDArray[] maskArrays, MaskState currentMaskState, int minibatchSize)TrainingConfiggetConfig()INDArraygetGradientsViewArray()LayergetLayer()Get the Layer (if any).booleanhasLayer()Whether the GraphVertex contains aLayerobject or notbooleanisOutputVertex()Whether the GraphVertex is an output vertexINDArrayparams()Map<String,INDArray>paramTable(boolean backpropOnly)Get the parameter table for the vertexvoidsetBackpropGradientsViewArray(INDArray backpropGradientsViewArray)voidsetInput(int inputNumber, INDArray input, LayerWorkspaceMgr workspaceMgr)Set the input activations.voidsetLayerAsFrozen()Only applies to layer vertices.StringtoString()-
Methods inherited from class org.deeplearning4j.nn.graph.vertex.BaseGraphVertex
canDoForward, clear, clearVertex, getEpsilon, getInputVertices, getNumInputArrays, getNumOutputConnections, getOutputVertices, getVertexIndex, getVertexName, isInputVertex, numParams, setEpsilon, setInputVertices, setOutputVertices, updaterDivideByMinibatch
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.deeplearning4j.nn.graph.vertex.GraphVertex
getInputs, setInputs, setOutputVertex
-
-
-
-
Constructor Detail
-
LayerVertex
public LayerVertex(ComputationGraph graph, String name, int vertexIndex, Layer layer, InputPreProcessor layerPreProcessor, boolean outputVertex, DataType dataType)
Create a network input vertex:
-
LayerVertex
public LayerVertex(ComputationGraph graph, String name, int vertexIndex, VertexIndices[] inputVertices, VertexIndices[] outputVertices, Layer layer, InputPreProcessor layerPreProcessor, boolean outputVertex, DataType dataType)
-
-
Method Detail
-
hasLayer
public boolean hasLayer()
Description copied from interface:GraphVertexWhether the GraphVertex contains aLayerobject or not
-
setLayerAsFrozen
public void setLayerAsFrozen()
Description copied from interface:GraphVertexOnly applies to layer vertices. Will throw exceptions on others. If applied to a layer vertex it will treat the parameters of the layer within it as constant. Activations through these will be calculated as they would as test time regardless of training mode- Specified by:
setLayerAsFrozenin interfaceGraphVertex- Overrides:
setLayerAsFrozenin classBaseGraphVertex
-
paramTable
public Map<String,INDArray> paramTable(boolean backpropOnly)
Description copied from interface:GraphVertexGet the parameter table for the vertex- Specified by:
paramTablein interfaceGraphVertex- Specified by:
paramTablein interfaceTrainable- Overrides:
paramTablein classBaseGraphVertex- Parameters:
backpropOnly- If true: exclude unsupervised training parameters- Returns:
- Parameter table
-
isOutputVertex
public boolean isOutputVertex()
Description copied from interface:GraphVertexWhether the GraphVertex is an output vertex
-
getLayer
public Layer getLayer()
Description copied from interface:GraphVertexGet the Layer (if any). Returns null ifGraphVertex.hasLayer()== false
-
doForward
public INDArray doForward(boolean training, LayerWorkspaceMgr workspaceMgr)
Description copied from interface:GraphVertexDo forward pass using the stored inputs- Parameters:
training- if true: forward pass at training time. If false: forward pass at test time- Returns:
- The output (for example, activations) of the GraphVertex
-
applyPreprocessorAndSetInput
public void applyPreprocessorAndSetInput(LayerWorkspaceMgr workspaceMgr)
-
doBackward
public Pair<Gradient,INDArray[]> doBackward(boolean tbptt, LayerWorkspaceMgr workspaceMgr)
Description copied from interface:GraphVertexDo backward pass- Parameters:
tbptt- If true: do backprop using truncated BPTT- Returns:
- The gradients (may be null), and the errors/epsilons for all inputs to this GraphVertex
-
setInput
public void setInput(int inputNumber, INDArray input, LayerWorkspaceMgr workspaceMgr)Description copied from interface:GraphVertexSet the input activations.- Specified by:
setInputin interfaceGraphVertex- Overrides:
setInputin classBaseGraphVertex- Parameters:
inputNumber- Must be in range 0 toGraphVertex.getNumInputArrays()-1input- The input array
-
setBackpropGradientsViewArray
public void setBackpropGradientsViewArray(INDArray backpropGradientsViewArray)
Description copied from interface:GraphVertex
-
feedForwardMaskArrays
public Pair<INDArray,MaskState> feedForwardMaskArrays(INDArray[] maskArrays, MaskState currentMaskState, int minibatchSize)
-
toString
public String toString()
- Specified by:
toStringin classBaseGraphVertex
-
canDoBackward
public boolean canDoBackward()
Description copied from interface:GraphVertexWhether the GraphVertex can do backward pass. Typically, this is just whether all errors/epsilons are set- Specified by:
canDoBackwardin interfaceGraphVertex- Overrides:
canDoBackwardin classBaseGraphVertex
-
computeScore
public double computeScore(double r, boolean training, LayerWorkspaceMgr workspaceMgr)
-
computeScoreForExamples
public INDArray computeScoreForExamples(double r, LayerWorkspaceMgr workspaceMgr)
-
getConfig
public TrainingConfig getConfig()
- Specified by:
getConfigin interfaceTrainable- Overrides:
getConfigin classBaseGraphVertex- Returns:
- Training configuration
-
params
public INDArray params()
- Specified by:
paramsin interfaceTrainable- Overrides:
paramsin classBaseGraphVertex- Returns:
- 1d parameter vector
-
getGradientsViewArray
public INDArray getGradientsViewArray()
- Specified by:
getGradientsViewArrayin interfaceTrainable- Overrides:
getGradientsViewArrayin classBaseGraphVertex- Returns:
- 1D gradients view array
-
-