public class DotProductAttention extends DynamicCustomOp
DynamicCustomOp.DynamicCustomOpsBuilder
axis, bArguments, dArguments, iArguments, inplaceCall, inputArguments, outputArguments, outputVariables, tArguments
dimensions, extraArgs, inPlace, ownName, ownNameSetWithDefault, sameDiff, scalarValue
Constructor and Description |
---|
DotProductAttention(@NonNull INDArray queries,
@NonNull INDArray keys,
@NonNull INDArray values,
INDArray mask,
boolean scaled) |
DotProductAttention(@NonNull INDArray queries,
@NonNull INDArray keys,
@NonNull INDArray values,
INDArray mask,
boolean scaled,
boolean withWeights) |
DotProductAttention(SameDiff sameDiff,
SDVariable queries,
SDVariable keys,
SDVariable values,
SDVariable mask,
boolean scaled,
boolean withWeights) |
Modifier and Type | Method and Description |
---|---|
List<DataType> |
calculateOutputDataTypes(List<DataType> dataTypes)
Calculate the data types for the output arrays.
|
List<SDVariable> |
doDiff(List<SDVariable> gradient)
The actual implementation for automatic differentiation.
|
int |
getNumOutputs() |
String |
opName()
This method returns op opName as string
|
addBArgument, addDArgument, addIArgument, addIArgument, addInputArgument, addOutputArgument, addTArgument, assertValidForExecution, bArgs, builder, calculateOutputShape, calculateOutputShape, clearArrays, dArgs, getBArgument, getDescriptor, getIArgument, getInputArgument, getOutputArgument, getTArgument, iArgs, initFromOnnx, initFromTensorFlow, inputArguments, numBArguments, numDArguments, numIArguments, numInputArguments, numOutputArguments, numTArguments, onnxName, opHash, opNum, opType, outputArguments, outputVariables, outputVariables, removeIArgument, removeInputArgument, removeOutputArgument, removeTArgument, setInputArgument, setInputArguments, setOutputArgument, tArgs, tensorflowName, toString, wrapFilterNull, wrapOrNull, wrapOrNull
arg, arg, argNames, args, attributeAdaptersForFunction, configFieldName, diff, dup, equals, getValue, hashCode, isConfigProperties, larg, mappingsForFunction, onnxNames, outputs, outputVariable, outputVariablesNames, propertiesForFunction, rarg, replaceArg, setInstanceId, setPropertiesForFunction, setValueFor, tensorflowNames
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
isInplaceCall
public DotProductAttention(SameDiff sameDiff, SDVariable queries, SDVariable keys, SDVariable values, SDVariable mask, boolean scaled, boolean withWeights)
public DotProductAttention(@NonNull @NonNull INDArray queries, @NonNull @NonNull INDArray keys, @NonNull @NonNull INDArray values, INDArray mask, boolean scaled)
public String opName()
DynamicCustomOp
opName
in interface CustomOp
opName
in class DynamicCustomOp
public List<SDVariable> doDiff(List<SDVariable> gradient)
DifferentialFunction
doDiff
in class DynamicCustomOp
public List<DataType> calculateOutputDataTypes(List<DataType> dataTypes)
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
dataTypes
- The data types of the inputspublic int getNumOutputs()
getNumOutputs
in class DifferentialFunction
Copyright © 2021. All rights reserved.