Class Conv3D
- java.lang.Object
-
- org.nd4j.autodiff.functions.DifferentialFunction
-
- org.nd4j.linalg.api.ops.DynamicCustomOp
-
- org.nd4j.linalg.api.ops.impl.layers.convolution.Conv3D
-
- All Implemented Interfaces:
CustomOp
- Direct Known Subclasses:
Conv3DDerivative
public class Conv3D extends DynamicCustomOp
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.nd4j.linalg.api.ops.DynamicCustomOp
DynamicCustomOp.DynamicCustomOpsBuilder
-
-
Field Summary
Fields Modifier and Type Field Description protected Conv3DConfig
config
-
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 Conv3D()
Conv3D(@NonNull SameDiff sameDiff, @NonNull SDVariable input, @NonNull SDVariable weights, SDVariable bias, @NonNull Conv3DConfig config)
Conv3D(@NonNull INDArray input, @NonNull INDArray weights, INDArray bias, INDArray output, @NonNull Conv3DConfig config)
Conv3D(SameDiff sameDiff, SDVariable[] inputFunctions, Conv3DConfig config)
Conv3D(INDArray[] inputs, INDArray[] outputs, Conv3DConfig config)
Conv3D(INDArray input, INDArray weights, INDArray bias, Conv3DConfig config)
Conv3D(INDArray input, INDArray weights, Conv3DConfig config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<String,Map<String,AttributeAdapter>>
attributeAdaptersForFunction()
Returns theAttributeAdapter
s for each of the possible ops for import (typically tensorflow and onnx) SeeAttributeAdapter
for more information on what the adapter does.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
createConfigFromArgs()
List<SDVariable>
doDiff(List<SDVariable> f1)
The actual implementation for automatic differentiation.Object
getValue(Field property)
Get the value for a given property for this functionlong[]
iArgs()
void
initFromTensorFlow(NodeDef nodeDef, SameDiff initWith, Map<String,AttrValue> attributesForNode, GraphDef graph)
Initialize the function from the givenNodeDef
boolean
isConfigProperties()
Returns true if the fields for this class should be looked up from a configuration class.Map<String,Map<String,PropertyMapping>>
mappingsForFunction()
Returns the mappings for a given function ( for tensorflow and onnx import mapping properties of this function).String
onnxName()
The opName of this function in onnxString
opName()
This method returns op opName as stringMap<String,Object>
propertiesForFunction()
Returns the properties for a given functionvoid
setPropertiesForFunction(Map<String,Object> properties)
String
tensorflowName()
The opName of this function tensorflow-
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, initFromOnnx, inputArguments, numBArguments, numDArguments, numIArguments, numInputArguments, numOutputArguments, numSArguments, numTArguments, opHash, opNum, opType, outputArguments, outputVariables, outputVariables, removeIArgument, removeInputArgument, removeOutputArgument, removeSArgument, removeTArgument, sArgs, setInputArgument, setInputArguments, setOutputArgument, setValueFor, tArgs, toString, wrapFilterNull, wrapOrNull, wrapOrNull
-
Methods inherited from class org.nd4j.autodiff.functions.DifferentialFunction
arg, arg, argNames, args, configureWithSameDiff, diff, dup, equals, getBooleanFromProperty, getDoubleValueFromProperty, getIntValueFromProperty, getLongValueFromProperty, getNumOutputs, 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
-
-
-
-
Field Detail
-
config
protected Conv3DConfig config
-
-
Constructor Detail
-
Conv3D
public Conv3D()
-
Conv3D
public Conv3D(@NonNull @NonNull SameDiff sameDiff, @NonNull @NonNull SDVariable input, @NonNull @NonNull SDVariable weights, SDVariable bias, @NonNull @NonNull Conv3DConfig config)
-
Conv3D
public Conv3D(SameDiff sameDiff, SDVariable[] inputFunctions, Conv3DConfig config)
-
Conv3D
public Conv3D(INDArray[] inputs, INDArray[] outputs, Conv3DConfig config)
-
Conv3D
public Conv3D(@NonNull @NonNull INDArray input, @NonNull @NonNull INDArray weights, INDArray bias, INDArray output, @NonNull @NonNull Conv3DConfig config)
-
Conv3D
public Conv3D(INDArray input, INDArray weights, INDArray bias, Conv3DConfig config)
-
Conv3D
public Conv3D(INDArray input, INDArray weights, Conv3DConfig config)
-
-
Method Detail
-
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
-
setPropertiesForFunction
public void setPropertiesForFunction(Map<String,Object> properties)
- Overrides:
setPropertiesForFunction
in classDynamicCustomOp
-
getValue
public Object getValue(Field property)
Description copied from class:DifferentialFunction
Get the value for a given property for this function- Overrides:
getValue
in classDynamicCustomOp
- Parameters:
property
- the property to get- Returns:
- the value for the function if it exists
-
createConfigFromArgs
public void createConfigFromArgs()
-
iArgs
public long[] iArgs()
- Specified by:
iArgs
in interfaceCustomOp
- Overrides:
iArgs
in classDynamicCustomOp
-
attributeAdaptersForFunction
public Map<String,Map<String,AttributeAdapter>> attributeAdaptersForFunction()
Description copied from class:DifferentialFunction
Returns theAttributeAdapter
s for each of the possible ops for import (typically tensorflow and onnx) SeeAttributeAdapter
for more information on what the adapter does. Similar toDifferentialFunction.mappingsForFunction()
, the returned map contains aAttributeAdapter
for each field name when one is present. (It is optional for one to exist)_- Overrides:
attributeAdaptersForFunction
in classDifferentialFunction
- Returns:
-
propertiesForFunction
public Map<String,Object> propertiesForFunction()
Description copied from class:DifferentialFunction
Returns the properties for a given function- Overrides:
propertiesForFunction
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:
-
mappingsForFunction
public Map<String,Map<String,PropertyMapping>> mappingsForFunction()
Description copied from class:DifferentialFunction
Returns the mappings for a given function ( for tensorflow and onnx import mapping properties of this function). The mapping is indexed by field name. If the function has no properties, this returned map will be empty. Note that some functions have multiple names. This function returns a map indexed by each alias it has for a given name. These names include both onnx and tensorflow names (which might be 1 or more)- Overrides:
mappingsForFunction
in classDynamicCustomOp
- Returns:
-
initFromTensorFlow
public void initFromTensorFlow(NodeDef nodeDef, SameDiff initWith, Map<String,AttrValue> attributesForNode, GraphDef graph)
Description copied from class:DifferentialFunction
Initialize the function from the givenNodeDef
- Overrides:
initFromTensorFlow
in classDynamicCustomOp
-
doDiff
public List<SDVariable> doDiff(List<SDVariable> f1)
Description copied from class:DifferentialFunction
The actual implementation for automatic differentiation.- Overrides:
doDiff
in classDynamicCustomOp
- Returns:
-
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:
-
onnxName
public String onnxName()
Description copied from class:DifferentialFunction
The opName of this function in onnx- Overrides:
onnxName
in classDynamicCustomOp
- Returns:
-
tensorflowName
public String tensorflowName()
Description copied from class:DifferentialFunction
The opName of this function tensorflow- Overrides:
tensorflowName
in classDynamicCustomOp
- Returns:
-
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
-
-