public class DynamicCustomOp extends DifferentialFunction implements CustomOp
| Modifier and Type | Class and Description |
|---|---|
static class |
DynamicCustomOp.DynamicCustomOpsBuilder |
| Modifier and Type | Field and Description |
|---|---|
protected List<Integer> |
axis |
protected List<Boolean> |
bArguments |
protected List<DataType> |
dArguments |
protected List<Long> |
iArguments |
protected boolean |
inplaceCall |
protected List<INDArray> |
inputArguments |
protected List<INDArray> |
outputArguments |
protected SDVariable[] |
outputVariables |
protected List<Double> |
tArguments |
dimensions, extraArgs, inPlace, ownName, ownNameSetWithDefault, sameDiff, scalarValue| Modifier | Constructor and Description |
|---|---|
|
DynamicCustomOp() |
|
DynamicCustomOp(INDArray[] inputs,
INDArray[] outputs)
Initialize this operation for execution (pre created ndarrays)
|
|
DynamicCustomOp(SameDiff sameDiff,
SDVariable arg) |
|
DynamicCustomOp(SameDiff sameDiff,
SDVariable[] args) |
|
DynamicCustomOp(SameDiff sameDiff,
SDVariable[] args,
boolean inPlace) |
protected |
DynamicCustomOp(String opName) |
|
DynamicCustomOp(String opName,
INDArray[] inputs,
INDArray[] outputs)
Initialize this operation for execution (pre created ndarrays)
|
|
DynamicCustomOp(String opName,
INDArray[] inputs,
INDArray[] outputs,
List<Double> tArguments,
int[] iArguments) |
|
DynamicCustomOp(String opName,
INDArray[] inputs,
INDArray[] outputs,
List<Double> tArguments,
List<Integer> iArguments)
Initialize this custom op with all of the
inputs, outputs, and respective
arguments for execution
|
|
DynamicCustomOp(String opName,
INDArray input,
INDArray output,
List<Double> tArguments,
int[] iArguments) |
|
DynamicCustomOp(String opName,
SameDiff sameDiff,
SDVariable[] args) |
|
DynamicCustomOp(String opName,
SameDiff sameDiff,
SDVariable[] args,
boolean inPlace)
Initialize this for
SameDiff execution
Any extra int or float arguments for operations
must be added to the respective TArguments
or IArguments lists upon construction |
| Modifier and Type | Method and Description |
|---|---|
void |
addBArgument(boolean... arg) |
void |
addDArgument(DataType... arg) |
void |
addIArgument(int... arg) |
void |
addIArgument(long... arg) |
void |
addInputArgument(INDArray... arg) |
void |
addOutputArgument(INDArray... arg) |
void |
addTArgument(double... arg) |
void |
assertValidForExecution()
Asserts a valid state for execution,
otherwise throws an
ND4JIllegalStateException |
boolean[] |
bArgs() |
static DynamicCustomOp.DynamicCustomOpsBuilder |
builder(String opName)
This method takes custom opname, and return Op DynamicCustomOpsBuilder instance
|
List<LongShapeDescriptor> |
calculateOutputShape()
Calculate the output shape for this op
|
List<LongShapeDescriptor> |
calculateOutputShape(OpContext oc)
Calculate the output shape for this op
|
void |
clearArrays()
Clear the input and output INDArrays, if any are set
|
DataType[] |
dArgs() |
List<SDVariable> |
doDiff(List<SDVariable> f1)
The actual implementation for automatic differentiation.
|
Boolean |
getBArgument(int index) |
CustomOpDescriptor |
getDescriptor()
Get the custom op descriptor if one is available.
|
Long |
getIArgument(int index) |
INDArray |
getInputArgument(int index) |
INDArray |
getOutputArgument(int index) |
Double |
getTArgument(int index) |
long[] |
iArgs() |
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 |
List<INDArray> |
inputArguments() |
int |
numBArguments() |
int |
numDArguments() |
int |
numIArguments() |
int |
numInputArguments() |
int |
numOutputArguments() |
int |
numTArguments() |
String |
onnxName()
The opName of this function in onnx
|
long |
opHash()
This method returns LongHash of the opName()
|
String |
opName()
This method returns op opName as string
|
int |
opNum()
The number of the op (mainly for old legacy XYZ ops
like
Op) |
Op.Type |
opType()
The type of the op
|
List<INDArray> |
outputArguments() |
SDVariable[] |
outputVariables()
Return the output variables for this differential function.
|
SDVariable[] |
outputVariables(String baseName)
Return the output functions for this differential function.
|
void |
removeIArgument(Integer arg) |
void |
removeInputArgument(INDArray arg) |
void |
removeOutputArgument(INDArray arg) |
void |
removeTArgument(Double arg) |
void |
setInputArgument(int index,
INDArray input) |
void |
setInputArguments(INDArray... inputs) |
void |
setOutputArgument(int index,
INDArray output) |
double[] |
tArgs() |
String |
tensorflowName()
The opName of this function tensorflow
|
String |
toString() |
protected static <T> T[] |
wrapFilterNull(T... in) |
protected static INDArray[] |
wrapOrNull(INDArray in) |
protected static SDVariable[] |
wrapOrNull(SDVariable in) |
arg, arg, argNames, args, attributeAdaptersForFunction, calculateOutputDataTypes, configFieldName, diff, dup, equals, getNumOutputs, getValue, hashCode, isConfigProperties, larg, mappingsForFunction, onnxNames, outputs, outputVariable, outputVariablesNames, propertiesForFunction, rarg, replaceArg, setInstanceId, setPropertiesForFunction, setValueFor, tensorflowNamesclone, finalize, getClass, notify, notifyAll, wait, wait, waitisInplaceCallprotected boolean inplaceCall
protected SDVariable[] outputVariables
public DynamicCustomOp()
public DynamicCustomOp(SameDiff sameDiff, SDVariable arg)
public DynamicCustomOp(SameDiff sameDiff, SDVariable[] args)
public DynamicCustomOp(String opName, SameDiff sameDiff, SDVariable[] args)
public DynamicCustomOp(String opName, INDArray input, INDArray output, List<Double> tArguments, int[] iArguments)
public DynamicCustomOp(String opName, INDArray[] inputs, INDArray[] outputs, List<Double> tArguments, int[] iArguments)
public DynamicCustomOp(String opName, INDArray[] inputs, INDArray[] outputs, List<Double> tArguments, List<Integer> iArguments)
opName - the opName of the op to executeinputs - the inputs to the opoutputs - the outputs of the optArguments - the input float argumentsiArguments - the input int argumentspublic DynamicCustomOp(INDArray[] inputs, INDArray[] outputs)
inputs - the inputsoutputs - the outputs of the op, may be nullpublic DynamicCustomOp(String opName, INDArray[] inputs, INDArray[] outputs)
opName - the operation opName to use for invocationinputs - the inputsoutputs - the outputs of the op, may be nullpublic DynamicCustomOp(String opName, SameDiff sameDiff, SDVariable[] args, boolean inPlace)
SameDiff execution
Any extra int or float arguments for operations
must be added to the respective TArguments
or IArguments lists upon constructionopName - the operation opNamesameDiff - the samediff instance to useargs - the arguments to useinPlace - whether the operation is in place or notpublic DynamicCustomOp(SameDiff sameDiff, SDVariable[] args, boolean inPlace)
protected DynamicCustomOp(String opName)
public String opName()
opName in interface CustomOpopName in class DifferentialFunctionpublic SDVariable[] outputVariables()
DifferentialFunctionoutputVariables in class DifferentialFunctionpublic SDVariable[] outputVariables(String baseName)
DifferentialFunctionoutputVariables in class DifferentialFunctionpublic long opHash()
public int numDArguments()
numDArguments in interface CustomOppublic List<INDArray> outputArguments()
outputArguments in interface CustomOppublic List<INDArray> inputArguments()
inputArguments in interface CustomOppublic void addIArgument(int... arg)
addIArgument in interface CustomOppublic void addIArgument(long... arg)
addIArgument in interface CustomOppublic void removeIArgument(Integer arg)
removeIArgument in interface CustomOppublic Long getIArgument(int index)
getIArgument in interface CustomOppublic int numIArguments()
numIArguments in interface CustomOppublic int numBArguments()
numBArguments in interface CustomOppublic void addTArgument(double... arg)
addTArgument in interface CustomOppublic void addDArgument(DataType... arg)
addDArgument in interface CustomOppublic void removeTArgument(Double arg)
removeTArgument in interface CustomOppublic Double getTArgument(int index)
getTArgument in interface CustomOppublic int numTArguments()
numTArguments in interface CustomOppublic void addInputArgument(INDArray... arg)
addInputArgument in interface CustomOppublic void removeInputArgument(INDArray arg)
removeInputArgument in interface CustomOppublic INDArray getInputArgument(int index)
getInputArgument in interface CustomOpgetInputArgument in class DifferentialFunctionpublic void setInputArgument(int index,
INDArray input)
public void setInputArguments(INDArray... inputs)
public void setOutputArgument(int index,
INDArray output)
public int numInputArguments()
numInputArguments in interface CustomOppublic void addOutputArgument(INDArray... arg)
addOutputArgument in interface CustomOppublic void removeOutputArgument(INDArray arg)
removeOutputArgument in interface CustomOppublic INDArray getOutputArgument(int index)
getOutputArgument in interface CustomOppublic int numOutputArguments()
numOutputArguments in interface CustomOppublic int opNum()
DifferentialFunctionOp)opNum in class DifferentialFunctionpublic static DynamicCustomOp.DynamicCustomOpsBuilder builder(String opName)
opName - public List<LongShapeDescriptor> calculateOutputShape()
DifferentialFunctioncalculateOutputShape in interface CustomOpcalculateOutputShape in class DifferentialFunctionpublic List<LongShapeDescriptor> calculateOutputShape(OpContext oc)
CustomOpcalculateOutputShape in interface CustomOpcalculateOutputShape in class DifferentialFunctionpublic CustomOpDescriptor getDescriptor()
CustomOpgetDescriptor in interface CustomOppublic void assertValidForExecution()
CustomOpND4JIllegalStateExceptionassertValidForExecution in interface CustomOppublic List<SDVariable> doDiff(List<SDVariable> f1)
DifferentialFunctiondoDiff in class DifferentialFunctionpublic void addBArgument(boolean... arg)
addBArgument in interface CustomOppublic Boolean getBArgument(int index)
getBArgument in interface CustomOppublic String onnxName()
DifferentialFunctiononnxName in class DifferentialFunctionpublic String tensorflowName()
DifferentialFunctiontensorflowName in class DifferentialFunctionpublic Op.Type opType()
DifferentialFunctionopType in class DifferentialFunctionpublic void initFromTensorFlow(NodeDef nodeDef, SameDiff initWith, Map<String,AttrValue> attributesForNode, GraphDef graph)
DifferentialFunctionNodeDefinitFromTensorFlow in class DifferentialFunctionpublic void initFromOnnx(Onnx.NodeProto node, SameDiff initWith, Map<String,Onnx.AttributeProto> attributesForNode, Onnx.GraphProto graph)
DifferentialFunctionOnnx.NodeProtoinitFromOnnx in class DifferentialFunctionpublic void clearArrays()
DifferentialFunctionclearArrays in interface CustomOpclearArrays in class DifferentialFunctionprotected static SDVariable[] wrapOrNull(SDVariable in)
protected static <T> T[] wrapFilterNull(T... in)
Copyright © 2021. All rights reserved.