Class DepthwiseConv2D
- java.lang.Object
-
- org.nd4j.autodiff.functions.DifferentialFunction
-
- org.nd4j.linalg.api.ops.DynamicCustomOp
-
- org.nd4j.linalg.api.ops.impl.layers.convolution.DepthwiseConv2D
-
- All Implemented Interfaces:
CustomOp
public class DepthwiseConv2D 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 Conv2DConfigconfig-
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 DepthwiseConv2D()DepthwiseConv2D(@NonNull SameDiff sameDiff, @NonNull SDVariable input, @NonNull SDVariable weights, SDVariable bias, @NonNull Conv2DConfig conv2DConfig)DepthwiseConv2D(@NonNull INDArray input, @NonNull INDArray weights, INDArray bias, INDArray output, @NonNull Conv2DConfig config)DepthwiseConv2D(SameDiff sameDiff, SDVariable[] inputFunctions, Conv2DConfig config)DepthwiseConv2D(INDArray[] inputs, INDArray[] outputs, Conv2DConfig config)DepthwiseConv2D(INDArray layerInput, INDArray depthWeights, INDArray bias, Conv2DConfig config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddArgs()Map<String,Map<String,AttributeAdapter>>attributeAdaptersForFunction()Returns theAttributeAdapters for each of the possible ops for import (typically tensorflow and onnx) SeeAttributeAdapterfor more information on what the adapter does.List<DataType>calculateOutputDataTypes(List<DataType> inputDataTypes)Calculate the data types for the output arrays.StringconfigFieldName()Returns the name of the field to be used for looking up field names.List<SDVariable>doDiff(List<SDVariable> f1)The actual implementation for automatic differentiation.ObjectgetValue(Field property)Get the value for a given property for this functionlong[]iArgs()voidinitFromOnnx(Onnx.NodeProto node, SameDiff initWith, Map<String,Onnx.AttributeProto> attributesForNode, Onnx.GraphProto graph)Iniitialize the function from the givenOnnx.NodeProtovoidinitFromTensorFlow(NodeDef nodeDef, SameDiff initWith, Map<String,AttrValue> attributesForNode, GraphDef graph)Initialize the function from the givenNodeDefbooleanisConfigProperties()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).StringonnxName()The opName of this function in onnxStringopName()This method returns op opName as stringMap<String,Object>propertiesForFunction()Returns the properties for a given functionStringtensorflowName()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, configureFromArguments, dArgs, generateFake, generateFake, getBArgument, getDescriptor, getIArgument, getInputArgument, getOutputArgument, getSArgument, getTArgument, inputArguments, numBArguments, numDArguments, numIArguments, numInputArguments, numOutputArguments, numSArguments, numTArguments, opHash, opNum, opType, outputArguments, outputVariables, outputVariables, removeIArgument, removeInputArgument, removeOutputArgument, removeSArgument, removeTArgument, sArgs, setInputArgument, setInputArguments, setOutputArgument, setPropertiesForFunction, 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 Conv2DConfig config
-
-
Constructor Detail
-
DepthwiseConv2D
public DepthwiseConv2D(@NonNull @NonNull SameDiff sameDiff, @NonNull @NonNull SDVariable input, @NonNull @NonNull SDVariable weights, SDVariable bias, @NonNull @NonNull Conv2DConfig conv2DConfig)
-
DepthwiseConv2D
public DepthwiseConv2D(SameDiff sameDiff, SDVariable[] inputFunctions, Conv2DConfig config)
-
DepthwiseConv2D
public DepthwiseConv2D(INDArray[] inputs, INDArray[] outputs, Conv2DConfig config)
-
DepthwiseConv2D
public DepthwiseConv2D(@NonNull @NonNull INDArray input, @NonNull @NonNull INDArray weights, INDArray bias, INDArray output, @NonNull @NonNull Conv2DConfig config)
-
DepthwiseConv2D
public DepthwiseConv2D(INDArray layerInput, INDArray depthWeights, INDArray bias, Conv2DConfig config)
-
DepthwiseConv2D
public DepthwiseConv2D()
-
-
Method Detail
-
iArgs
public long[] iArgs()
- Specified by:
iArgsin interfaceCustomOp- Overrides:
iArgsin classDynamicCustomOp
-
addArgs
protected void addArgs()
-
getValue
public Object getValue(Field property)
Description copied from class:DifferentialFunctionGet the value for a given property for this function- Overrides:
getValuein classDynamicCustomOp- Parameters:
property- the property to get- Returns:
- the value for the function if it exists
-
propertiesForFunction
public Map<String,Object> propertiesForFunction()
Description copied from class:DifferentialFunctionReturns the properties for a given function- Overrides:
propertiesForFunctionin classDynamicCustomOp- Returns:
-
initFromTensorFlow
public void initFromTensorFlow(NodeDef nodeDef, SameDiff initWith, Map<String,AttrValue> attributesForNode, GraphDef graph)
Description copied from class:DifferentialFunctionInitialize the function from the givenNodeDef- Overrides:
initFromTensorFlowin classDynamicCustomOp
-
isConfigProperties
public boolean isConfigProperties()
Description copied from class:DifferentialFunctionReturns true if the fields for this class should be looked up from a configuration class.- Overrides:
isConfigPropertiesin classDifferentialFunction- Returns:
-
configFieldName
public String configFieldName()
Description copied from class:DifferentialFunctionReturns 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:
configFieldNamein classDifferentialFunction- Returns:
-
initFromOnnx
public void initFromOnnx(Onnx.NodeProto node, SameDiff initWith, Map<String,Onnx.AttributeProto> attributesForNode, Onnx.GraphProto graph)
Description copied from class:DifferentialFunctionIniitialize the function from the givenOnnx.NodeProto- Overrides:
initFromOnnxin classDynamicCustomOp
-
attributeAdaptersForFunction
public Map<String,Map<String,AttributeAdapter>> attributeAdaptersForFunction()
Description copied from class:DifferentialFunctionReturns theAttributeAdapters for each of the possible ops for import (typically tensorflow and onnx) SeeAttributeAdapterfor more information on what the adapter does. Similar toDifferentialFunction.mappingsForFunction(), the returned map contains aAttributeAdapterfor each field name when one is present. (It is optional for one to exist)_- Overrides:
attributeAdaptersForFunctionin classDifferentialFunction- Returns:
-
mappingsForFunction
public Map<String,Map<String,PropertyMapping>> mappingsForFunction()
Description copied from class:DifferentialFunctionReturns 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:
mappingsForFunctionin classDynamicCustomOp- Returns:
-
opName
public String opName()
Description copied from class:DynamicCustomOpThis method returns op opName as string- Specified by:
opNamein interfaceCustomOp- Overrides:
opNamein classDynamicCustomOp- Returns:
-
doDiff
public List<SDVariable> doDiff(List<SDVariable> f1)
Description copied from class:DifferentialFunctionThe actual implementation for automatic differentiation.- Overrides:
doDiffin classDynamicCustomOp- Returns:
-
onnxName
public String onnxName()
Description copied from class:DifferentialFunctionThe opName of this function in onnx- Overrides:
onnxNamein classDynamicCustomOp- Returns:
-
tensorflowName
public String tensorflowName()
Description copied from class:DifferentialFunctionThe opName of this function tensorflow- Overrides:
tensorflowNamein classDynamicCustomOp- Returns:
-
calculateOutputDataTypes
public List<DataType> calculateOutputDataTypes(List<DataType> inputDataTypes)
Description copied from class:DifferentialFunctionCalculate 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:
calculateOutputDataTypesin classDifferentialFunction- Parameters:
inputDataTypes- The data types of the inputs- Returns:
- The data types of the outputs
-
-