public class BatchNorm extends DynamicCustomOp
DynamicCustomOp.DynamicCustomOpsBuilder
axis, bArguments, iArguments, inplaceCall, inputArguments, outputArguments, outputVariables, tArguments
dimensions, extraArgs, inPlace, sameDiff, scalarValue
Constructor and Description |
---|
BatchNorm(INDArray input,
INDArray mean,
INDArray variance,
INDArray gamma,
INDArray beta,
double epsilon,
int... axis) |
BatchNorm(SameDiff sameDiff,
SDVariable[] inputFunctions,
INDArray[] inputArrays,
INDArray[] outputArrays,
boolean inPlace,
boolean applyGamma,
boolean applyBeta,
double epsilon,
int[] axis) |
Modifier and Type | Method and Description |
---|---|
void |
addArgs() |
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.
|
void |
initFromOnnx(Onnx.NodeProto node,
SameDiff initWith,
Map<String,Onnx.AttributeProto> attributesForNode,
Onnx.GraphProto graph)
Iniitialize the function from the given
Onnx.NodeProto |
void |
initFromTensorFlow(NodeDef nodeDef,
SameDiff initWith,
Map<String,AttrValue> attributesForNode,
GraphDef graph)
Initialize the function from the given
NodeDef |
String |
onnxName()
The opName of this function in onnx
|
String |
opName()
This method returns op opName as string
|
Map<String,Object> |
propertiesForFunction()
Returns the properties for a given function
|
String |
tensorflowName()
The opName of this function tensorflow
|
addBArgument, addIArgument, addIArgument, addInputArgument, addOutputArgument, addTArgument, assertValidForExecution, bArgs, builder, calculateOutputShape, clearArrays, getBArgument, getDescriptor, getIArgument, getInputArgument, getOutputArgument, getTArgument, iArgs, inputArguments, numBArguments, numIArguments, numInputArguments, numOutputArguments, numTArguments, opHash, opNum, opType, outputArguments, outputVariables, outputVariables, removeIArgument, removeInputArgument, removeOutputArgument, removeTArgument, setInputArgument, setInputArguments, setOutputArgument, tArgs, toString, wrapFilterNull, wrapOrNull
arg, arg, argNames, args, attributeAdaptersForFunction, configFieldName, diff, dup, equals, f, getNumOutputs, getValue, hashCode, isConfigProperties, larg, mappingsForFunction, onnxNames, outputVariable, outputVariablesNames, rarg, replaceArg, setInstanceId, setPropertiesForFunction, setValueFor, tensorflowNames
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
isInplaceCall
public BatchNorm(SameDiff sameDiff, SDVariable[] inputFunctions, INDArray[] inputArrays, INDArray[] outputArrays, boolean inPlace, boolean applyGamma, boolean applyBeta, double epsilon, int[] axis)
public void addArgs()
public Map<String,Object> propertiesForFunction()
DifferentialFunction
propertiesForFunction
in class DifferentialFunction
public void initFromTensorFlow(NodeDef nodeDef, SameDiff initWith, Map<String,AttrValue> attributesForNode, GraphDef graph)
DifferentialFunction
NodeDef
initFromTensorFlow
in class DynamicCustomOp
public void initFromOnnx(Onnx.NodeProto node, SameDiff initWith, Map<String,Onnx.AttributeProto> attributesForNode, Onnx.GraphProto graph)
DifferentialFunction
Onnx.NodeProto
initFromOnnx
in class DynamicCustomOp
public String opName()
DynamicCustomOp
opName
in interface CustomOp
opName
in class DynamicCustomOp
public String onnxName()
DifferentialFunction
onnxName
in class DynamicCustomOp
public String tensorflowName()
DifferentialFunction
tensorflowName
in class DynamicCustomOp
public List<SDVariable> doDiff(List<SDVariable> f1)
DifferentialFunction
doDiff
in class DynamicCustomOp
public List<DataType> calculateOutputDataTypes(List<DataType> inputDataTypes)
DifferentialFunction
DifferentialFunction.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.calculateOutputDataTypes
in class DifferentialFunction
inputDataTypes
- The data types of the inputsCopyright © 2019. All rights reserved.