Class LSTMLayer
- java.lang.Object
-
- org.nd4j.autodiff.functions.DifferentialFunction
-
- org.nd4j.linalg.api.ops.DynamicCustomOp
-
- org.nd4j.linalg.api.ops.impl.layers.recurrent.LSTMLayer
-
- All Implemented Interfaces:
CustomOp
public class LSTMLayer extends DynamicCustomOp
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.nd4j.linalg.api.ops.DynamicCustomOp
DynamicCustomOp.DynamicCustomOpsBuilder
-
-
Field Summary
-
Fields inherited from class org.nd4j.linalg.api.ops.DynamicCustomOp
axis, bArguments, dArguments, iArguments, inplaceCall, inputArguments, outputArguments, outputVariables, sArguments, tArguments
-
Fields inherited from class org.nd4j.autodiff.functions.DifferentialFunction
dimensions, extraArgs, inPlace, ownName, ownNameSetWithDefault, sameDiff, scalarValue
-
-
Constructor Summary
Constructors Constructor Description LSTMLayer()
LSTMLayer(@NonNull SameDiff sameDiff, SDVariable x, SDVariable cLast, SDVariable yLast, SDVariable maxTSLength, LSTMLayerWeights weights, LSTMLayerConfig configuration)
LSTMLayer(INDArray x, INDArray cLast, INDArray yLast, INDArray maxTSLength, LSTMLayerWeights lstmWeights, LSTMLayerConfig LSTMLayerConfig)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <T> boolean[]
bArgs(LSTMLayerWeights weights, T maxTSLength, T yLast, T cLast)
List<DataType>
calculateOutputDataTypes(List<DataType> inputDataTypes)
Calculate the data types for the output arrays.String
configFieldName()
Returns the name of the field to be used for looking up field names.void
configureFromArguments()
This allows a custom op to configure relevant fields from its arguments.void
configureWithSameDiff(SameDiff sameDiff)
List<SDVariable>
doDiff(List<SDVariable> grads)
The actual implementation for automatic differentiation.int
getNumOutputs()
long[]
iArgs()
boolean
isConfigProperties()
Returns true if the fields for this class should be looked up from a configuration class.String
opName()
This method returns op opName as stringMap<String,Object>
propertiesForFunction()
Returns the properties for a given functionvoid
setPropertiesForFunction(Map<String,Object> properties)
double[]
tArgs()
-
Methods inherited from class org.nd4j.linalg.api.ops.DynamicCustomOp
addBArgument, addDArgument, addIArgument, addIArgument, addInputArgument, addOutputArgument, addOutputsToOp, addSArgument, addTArgument, assertValidForExecution, bArgs, builder, calculateOutputShape, calculateOutputShape, clearArrays, computeArrays, dArgs, generateFake, generateFake, getBArgument, getDescriptor, getIArgument, getInputArgument, getOutputArgument, getSArgument, getTArgument, getValue, initFromOnnx, initFromTensorFlow, inputArguments, mappingsForFunction, numBArguments, numDArguments, numIArguments, numInputArguments, numOutputArguments, numSArguments, numTArguments, onnxName, opHash, opNum, opType, outputArguments, outputVariables, outputVariables, removeIArgument, removeInputArgument, removeOutputArgument, removeSArgument, removeTArgument, sArgs, setInputArgument, setInputArguments, setOutputArgument, setValueFor, tensorflowName, toString, wrapFilterNull, wrapOrNull, wrapOrNull
-
Methods inherited from class org.nd4j.autodiff.functions.DifferentialFunction
arg, arg, argNames, args, attributeAdaptersForFunction, diff, dup, equals, getBooleanFromProperty, getDoubleValueFromProperty, getIntValueFromProperty, getLongValueFromProperty, getStringFromProperty, hashCode, larg, onnxNames, outputs, outputVariable, outputVariablesNames, rarg, replaceArg, setInstanceId, tensorflowNames
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.nd4j.linalg.api.ops.CustomOp
isInplaceCall
-
-
-
-
Constructor Detail
-
LSTMLayer
public LSTMLayer()
-
LSTMLayer
public LSTMLayer(@NonNull @NonNull SameDiff sameDiff, SDVariable x, SDVariable cLast, SDVariable yLast, SDVariable maxTSLength, LSTMLayerWeights weights, LSTMLayerConfig configuration)
-
LSTMLayer
public LSTMLayer(INDArray x, INDArray cLast, INDArray yLast, INDArray maxTSLength, LSTMLayerWeights lstmWeights, LSTMLayerConfig LSTMLayerConfig)
-
-
Method Detail
-
calculateOutputDataTypes
public List<DataType> calculateOutputDataTypes(List<DataType> inputDataTypes)
Description copied from class:DifferentialFunction
Calculate the data types for the output arrays. Though datatypes can also be inferred fromDifferentialFunction.calculateOutputShape()
, this method differs in that it does not require the input arrays to be populated. This is important as it allows us to do greedy datatype inference for the entire net - even if arrays are not available.- Overrides:
calculateOutputDataTypes
in classDifferentialFunction
- Parameters:
inputDataTypes
- The data types of the inputs- Returns:
- The data types of the outputs
-
doDiff
public List<SDVariable> doDiff(List<SDVariable> grads)
Description copied from class:DifferentialFunction
The actual implementation for automatic differentiation.- Overrides:
doDiff
in classDynamicCustomOp
- Returns:
-
opName
public String opName()
Description copied from class:DynamicCustomOp
This method returns op opName as string- Specified by:
opName
in interfaceCustomOp
- Overrides:
opName
in classDynamicCustomOp
- Returns:
-
propertiesForFunction
public Map<String,Object> propertiesForFunction()
Description copied from class:DifferentialFunction
Returns the properties for a given function- Overrides:
propertiesForFunction
in classDynamicCustomOp
- Returns:
-
iArgs
public long[] iArgs()
- Specified by:
iArgs
in interfaceCustomOp
- Overrides:
iArgs
in classDynamicCustomOp
-
tArgs
public double[] tArgs()
- Specified by:
tArgs
in interfaceCustomOp
- Overrides:
tArgs
in classDynamicCustomOp
-
bArgs
protected <T> boolean[] bArgs(LSTMLayerWeights weights, T maxTSLength, T yLast, T cLast)
-
configureFromArguments
public void configureFromArguments()
Description copied from interface:CustomOp
This allows a custom op to configure relevant fields from its arguments. This is needed when ops are created via reflection for things like model import.- Specified by:
configureFromArguments
in interfaceCustomOp
- Overrides:
configureFromArguments
in classDynamicCustomOp
-
configureWithSameDiff
public void configureWithSameDiff(SameDiff sameDiff)
- Overrides:
configureWithSameDiff
in classDifferentialFunction
-
setPropertiesForFunction
public void setPropertiesForFunction(Map<String,Object> properties)
- Overrides:
setPropertiesForFunction
in classDynamicCustomOp
-
isConfigProperties
public boolean isConfigProperties()
Description copied from class:DifferentialFunction
Returns true if the fields for this class should be looked up from a configuration class.- Overrides:
isConfigProperties
in classDifferentialFunction
- Returns:
-
configFieldName
public String configFieldName()
Description copied from class:DifferentialFunction
Returns the name of the field to be used for looking up field names. This should be used in conjunction withDifferentialFunction.isConfigProperties()
to facilitate mapping fields for model import.- Overrides:
configFieldName
in classDifferentialFunction
- Returns:
-
getNumOutputs
public int getNumOutputs()
- Overrides:
getNumOutputs
in classDifferentialFunction
-
-