Class BatchNorm
- java.lang.Object
-
- org.nd4j.autodiff.functions.DifferentialFunction
-
- org.nd4j.linalg.api.ops.DynamicCustomOp
-
- org.nd4j.linalg.api.ops.impl.layers.convolution.BatchNorm
-
- All Implemented Interfaces:
CustomOp
- Direct Known Subclasses:
BatchNormDerivative
public class BatchNorm 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 BatchNorm(SameDiff sameDiff, SDVariable[] inputFunctions, INDArray[] inputArrays, INDArray[] outputArrays, boolean inPlace, boolean applyGamma, boolean applyBeta, double epsilon, int[] axis)BatchNorm(SameDiff sameDiff, SDVariable input, SDVariable mean, SDVariable variance, SDVariable gamma, SDVariable beta, double epsilon, int[] axis)BatchNorm(INDArray input, INDArray mean, INDArray variance, INDArray gamma, INDArray beta, double epsilon, int... axis)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddArgs()List<DataType>calculateOutputDataTypes(List<DataType> inputDataTypes)Calculate the data types for the output arrays.List<SDVariable>doDiff(List<SDVariable> f1)The actual implementation for automatic differentiation.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 givenNodeDefStringonnxName()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, getValue, iArgs, inputArguments, mappingsForFunction, 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, attributeAdaptersForFunction, configFieldName, configureWithSameDiff, diff, dup, equals, getBooleanFromProperty, getDoubleValueFromProperty, getIntValueFromProperty, getLongValueFromProperty, getNumOutputs, getStringFromProperty, hashCode, isConfigProperties, 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
-
BatchNorm
public BatchNorm(SameDiff sameDiff, SDVariable[] inputFunctions, INDArray[] inputArrays, INDArray[] outputArrays, boolean inPlace, boolean applyGamma, boolean applyBeta, double epsilon, int[] axis)
-
BatchNorm
public BatchNorm(SameDiff sameDiff, SDVariable input, SDVariable mean, SDVariable variance, SDVariable gamma, SDVariable beta, double epsilon, int[] axis)
-
-
Method Detail
-
addArgs
public void addArgs()
-
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
-
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
-
opName
public String opName()
Description copied from class:DynamicCustomOpThis method returns op opName as string- Specified by:
opNamein interfaceCustomOp- Overrides:
opNamein 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:
-
doDiff
public List<SDVariable> doDiff(List<SDVariable> f1)
Description copied from class:DifferentialFunctionThe actual implementation for automatic differentiation.- Overrides:
doDiffin 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
-
-