Class Choose
- java.lang.Object
-
- org.nd4j.autodiff.functions.DifferentialFunction
-
- org.nd4j.linalg.api.ops.DynamicCustomOp
-
- org.nd4j.linalg.api.ops.impl.transforms.custom.Choose
-
- All Implemented Interfaces:
CustomOp
public class Choose 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 Choose()Choose(String opName, SameDiff sameDiff, SDVariable[] args, boolean inPlace)Choose(String opName, INDArray[] inputs, INDArray[] outputs, List<Double> tArguments, List<Integer> iArguments)Choose(String opName, INDArray[] inputs, Condition condition)Choose(SameDiff sameDiff, SDVariable[] args, Condition condition)Choose(INDArray[] inputs, List<Integer> iArgs, List<Double> tArgs, Condition condition)Note that iArgs (integer arguments) and tArgs(double/float arguments) may end up being used under the following conditions: scalar operations (if a scalar is specified the you do not need to specify an ndarray) otherwise, if an ndarray is needed as a second input then put it in the inputs Usually, you only need 1 input (the equivalent of the array you're trying to do indexing on)Choose(INDArray[] inputs, Condition condition)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<DataType>calculateOutputDataTypes(List<DataType> dataTypes)Calculate the data types for the output arrays.StringopName()This method returns op opName as string-
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, doDiff, generateFake, generateFake, getBArgument, getDescriptor, getIArgument, getInputArgument, getOutputArgument, getSArgument, getTArgument, getValue, iArgs, initFromOnnx, initFromTensorFlow, inputArguments, mappingsForFunction, numBArguments, numDArguments, numIArguments, numInputArguments, numOutputArguments, numSArguments, numTArguments, onnxName, opHash, opNum, opType, outputArguments, outputVariables, outputVariables, propertiesForFunction, removeIArgument, removeInputArgument, removeOutputArgument, removeSArgument, removeTArgument, sArgs, setInputArgument, setInputArguments, setOutputArgument, setPropertiesForFunction, setValueFor, tArgs, tensorflowName, 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
-
Choose
public Choose(SameDiff sameDiff, SDVariable[] args, Condition condition)
-
Choose
public Choose(String opName, INDArray[] inputs, INDArray[] outputs, List<Double> tArguments, List<Integer> iArguments)
-
Choose
public Choose(INDArray[] inputs, List<Integer> iArgs, List<Double> tArgs, Condition condition)
Note that iArgs (integer arguments) and tArgs(double/float arguments) may end up being used under the following conditions: scalar operations (if a scalar is specified the you do not need to specify an ndarray) otherwise, if an ndarray is needed as a second input then put it in the inputs Usually, you only need 1 input (the equivalent of the array you're trying to do indexing on)- Parameters:
inputs- the inputs in to the opiArgs- the integer arguments as neededtArgs- the argumentscondition- the condition to filter on
-
Choose
public Choose(String opName, SameDiff sameDiff, SDVariable[] args, boolean inPlace)
-
Choose
public Choose()
-
-
Method Detail
-
opName
public String opName()
Description copied from class:DynamicCustomOpThis method returns op opName as string- Specified by:
opNamein interfaceCustomOp- Overrides:
opNamein classDynamicCustomOp- Returns:
-
calculateOutputDataTypes
public List<DataType> calculateOutputDataTypes(List<DataType> dataTypes)
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:
dataTypes- The data types of the inputs- Returns:
- The data types of the outputs
-
-