public abstract class BaseLossBp extends DynamicCustomOp
DynamicCustomOp.DynamicCustomOpsBuilder
Modifier and Type | Field and Description |
---|---|
protected LossReduce |
lossReduce |
axis, bArguments, dArguments, iArguments, inplaceCall, inputArguments, outputArguments, outputVariables, tArguments
dimensions, extraArgs, inPlace, sameDiff, scalarValue
Modifier | Constructor and Description |
---|---|
protected |
BaseLossBp() |
|
BaseLossBp(@NonNull SameDiff sameDiff,
@NonNull LossReduce lossReduce,
@NonNull SDVariable predictions,
@NonNull SDVariable weights,
@NonNull SDVariable labels) |
Modifier and Type | Method and Description |
---|---|
protected void |
addArgs() |
List<DataType> |
calculateOutputDataTypes(List<DataType> inputDataTypes)
Calculate the data types for the output arrays.
|
List<SDVariable> |
doDiff(List<SDVariable> grad)
The actual implementation for automatic differentiation.
|
int |
getNumOutputs() |
abstract 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
protected LossReduce lossReduce
public BaseLossBp(@NonNull @NonNull SameDiff sameDiff, @NonNull @NonNull LossReduce lossReduce, @NonNull @NonNull SDVariable predictions, @NonNull @NonNull SDVariable weights, @NonNull @NonNull SDVariable labels)
protected BaseLossBp()
protected void addArgs()
public abstract String opName()
DynamicCustomOp
opName
in interface CustomOp
opName
in class DynamicCustomOp
public int getNumOutputs()
getNumOutputs
in class DifferentialFunction
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 inputspublic List<SDVariable> doDiff(List<SDVariable> grad)
DifferentialFunction
doDiff
in class DynamicCustomOp
Copyright © 2020. All rights reserved.