public class While extends DifferentialFunction implements CustomOp
Modifier and Type | Field and Description |
---|---|
protected String |
blockName |
protected SDVariable |
dummyResult |
protected SDVariable[] |
inputVars |
protected SameDiff |
loopBodyExecution |
protected int |
numLooped |
protected SDVariable[] |
outputVars |
protected SameDiff.SameDiffConditional |
predicate |
protected SameDiff |
predicateExecution |
protected SDVariable |
targetBoolean |
protected SameDiff.SameDiffFunctionDefinition |
trueBody |
protected String |
trueBodyName |
dimensions, extraArgs, inPlace, sameDiff, scalarValue
Constructor and Description |
---|
While(AtomicInteger startPosition)
Mainly meant for tensorflow import.
|
While(String blockName,
SameDiff parent,
SDVariable[] inputVars,
SameDiff.SameDiffConditional predicate,
SameDiff.SameDiffFunctionDefinition condition,
SameDiff.SameDiffFunctionDefinition trueBody) |
While(While whileStatement) |
Modifier and Type | Method and Description |
---|---|
void |
addIArgument(int... 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 |
List<int[]> |
calculateOutputShape()
Calculate
the output shape for this op
|
List<SDVariable> |
doDiff(List<SDVariable> f1)
The actual implementation for automatic differentiation.
|
CustomOpDescriptor |
getDescriptor()
Get the custom op descriptor if one is available.
|
Integer |
getIArgument(int index) |
INDArray |
getInputArgument(int index) |
INDArray |
getOutputArgument(int index) |
Double |
getTArgument(int index) |
int[] |
iArgs() |
void |
incrementLoopCounter()
Increments the loop counter.
|
void |
initFromOnnx(OnnxProto3.NodeProto node,
SameDiff initWith,
Map<String,OnnxProto3.AttributeProto> attributesForNode,
OnnxProto3.GraphProto graph)
Iniitialize the function from the given
OnnxProto3.NodeProto |
void |
initFromTensorFlow(NodeDef nodeDef,
SameDiff initWith,
Map<String,AttrValue> attributesForNode,
GraphDef graph)
Initialize the function from the given
NodeDef |
INDArray[] |
inputArguments() |
boolean |
isInplaceCall()
This method returns true if op is supposed to be executed inplace
|
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()
The name of the op
|
Op.Type |
opType()
The type of the op
|
INDArray[] |
outputArguments() |
SDVariable[] |
outputVariables(String baseName)
Return the output functions for this differential function.
|
void |
populateInputsAndOutputsFromSameDiff()
Attempt to populate inputs and outputs from samediff.
|
void |
removeIArgument(Integer arg) |
void |
removeInputArgument(INDArray arg) |
void |
removeOutputArgument(INDArray arg) |
void |
removeTArgument(Double arg) |
double[] |
tArgs() |
String |
tensorflowName()
The opName of this function tensorflow
|
String[] |
tensorflowNames()
The opName of this function tensorflow
|
String |
toString() |
arg, args, asProperties, attributeAdaptersForFunction, configFieldName, diff, dup, equals, f, getValue, hashCode, hasPlaceHolderInputs, isConfigProperties, larg, mappingsForFunction, onnxNames, opNum, outputVariables, propertiesForFunction, rarg, resolvePropertiesFromSameDiffBeforeExecution, setInstanceId, setValueFor
protected SameDiff loopBodyExecution
protected SameDiff predicateExecution
protected SameDiff.SameDiffConditional predicate
protected SameDiff.SameDiffFunctionDefinition trueBody
protected String blockName
protected String trueBodyName
protected SDVariable[] inputVars
protected SDVariable targetBoolean
protected SDVariable dummyResult
protected SDVariable[] outputVars
protected int numLooped
public While(AtomicInteger startPosition)
initFromTensorFlow(NodeDef, SameDiff, Map, GraphDef)
to continue from a parent while loop
using the same graphstartPosition
- the start position for the import scanpublic While(While whileStatement)
public While(String blockName, SameDiff parent, SDVariable[] inputVars, SameDiff.SameDiffConditional predicate, SameDiff.SameDiffFunctionDefinition condition, SameDiff.SameDiffFunctionDefinition trueBody)
public SDVariable[] outputVariables(String baseName)
DifferentialFunction
outputVariables
in class DifferentialFunction
public List<SDVariable> doDiff(List<SDVariable> f1)
DifferentialFunction
doDiff
in class DifferentialFunction
public void incrementLoopCounter()
public void initFromTensorFlow(NodeDef nodeDef, SameDiff initWith, Map<String,AttrValue> attributesForNode, GraphDef graph)
DifferentialFunction
NodeDef
initFromTensorFlow
in class DifferentialFunction
public void initFromOnnx(OnnxProto3.NodeProto node, SameDiff initWith, Map<String,OnnxProto3.AttributeProto> attributesForNode, OnnxProto3.GraphProto graph)
DifferentialFunction
OnnxProto3.NodeProto
initFromOnnx
in class DifferentialFunction
public String opName()
DifferentialFunction
opName
in interface CustomOp
opName
in class DifferentialFunction
public long opHash()
CustomOp
public boolean isInplaceCall()
CustomOp
isInplaceCall
in interface CustomOp
public INDArray[] outputArguments()
outputArguments
in interface CustomOp
public INDArray[] inputArguments()
inputArguments
in interface CustomOp
public void addIArgument(int... arg)
addIArgument
in interface CustomOp
public void removeIArgument(Integer arg)
removeIArgument
in interface CustomOp
public Integer getIArgument(int index)
getIArgument
in interface CustomOp
public int numIArguments()
numIArguments
in interface CustomOp
public void addTArgument(double... arg)
addTArgument
in interface CustomOp
public void removeTArgument(Double arg)
removeTArgument
in interface CustomOp
public Double getTArgument(int index)
getTArgument
in interface CustomOp
public int numTArguments()
numTArguments
in interface CustomOp
public void addInputArgument(INDArray... arg)
addInputArgument
in interface CustomOp
public void removeInputArgument(INDArray arg)
removeInputArgument
in interface CustomOp
public INDArray getInputArgument(int index)
getInputArgument
in interface CustomOp
public int numInputArguments()
numInputArguments
in interface CustomOp
public void addOutputArgument(INDArray... arg)
addOutputArgument
in interface CustomOp
public void removeOutputArgument(INDArray arg)
removeOutputArgument
in interface CustomOp
public INDArray getOutputArgument(int index)
getOutputArgument
in interface CustomOp
public int numOutputArguments()
numOutputArguments
in interface CustomOp
public List<int[]> calculateOutputShape()
DifferentialFunction
calculateOutputShape
in interface CustomOp
calculateOutputShape
in class DifferentialFunction
public CustomOpDescriptor getDescriptor()
CustomOp
getDescriptor
in interface CustomOp
public void assertValidForExecution()
CustomOp
ND4JIllegalStateException
assertValidForExecution
in interface CustomOp
public void populateInputsAndOutputsFromSameDiff()
CustomOp
populateInputsAndOutputsFromSameDiff
in interface CustomOp
public String onnxName()
DifferentialFunction
onnxName
in class DifferentialFunction
public String tensorflowName()
DifferentialFunction
tensorflowName
in class DifferentialFunction
public String[] tensorflowNames()
DifferentialFunction
tensorflowNames
in class DifferentialFunction
public Op.Type opType()
DifferentialFunction
opType
in class DifferentialFunction
Copyright © 2018. All rights reserved.