Class BaseLossBp
- java.lang.Object
-
- org.nd4j.autodiff.functions.DifferentialFunction
-
- org.nd4j.linalg.api.ops.DynamicCustomOp
-
- org.nd4j.linalg.api.ops.impl.loss.bp.BaseLossBp
-
- All Implemented Interfaces:
CustomOp
- Direct Known Subclasses:
AbsoluteDifferenceLossBp
,CosineDistanceLossBp
,HingeLossBp
,HuberLossBp
,LogLossBp
,LogPoissonLossBp
,MeanPairwiseSquaredErrorLossBp
,MeanSquaredErrorLossBp
,SigmoidCrossEntropyLossBp
,SoftmaxCrossEntropyLossBp
public abstract class BaseLossBp extends DynamicCustomOp
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.nd4j.linalg.api.ops.DynamicCustomOp
DynamicCustomOp.DynamicCustomOpsBuilder
-
-
Field Summary
Fields Modifier and Type Field Description protected LossReduce
lossReduce
-
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 Modifier Constructor Description protected
BaseLossBp()
BaseLossBp(@NonNull SameDiff sameDiff, @NonNull LossReduce lossReduce, @NonNull SDVariable predictions, @NonNull SDVariable weights, @NonNull SDVariable labels)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method 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-
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, 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, 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
-
-
-
-
Field Detail
-
lossReduce
protected LossReduce lossReduce
-
-
Constructor Detail
-
BaseLossBp
public BaseLossBp(@NonNull @NonNull SameDiff sameDiff, @NonNull @NonNull LossReduce lossReduce, @NonNull @NonNull SDVariable predictions, @NonNull @NonNull SDVariable weights, @NonNull @NonNull SDVariable labels)
-
BaseLossBp
protected BaseLossBp()
-
-
Method Detail
-
addArgs
protected void addArgs()
-
opName
public abstract String opName()
Description copied from class:DynamicCustomOp
This method returns op opName as string- Specified by:
opName
in interfaceCustomOp
- Overrides:
opName
in classDynamicCustomOp
- Returns:
-
getNumOutputs
public int getNumOutputs()
- Overrides:
getNumOutputs
in classDifferentialFunction
-
calculateOutputDataTypes
public List<DataType> calculateOutputDataTypes(List<DataType> inputDataTypes)
Description copied from class:DifferentialFunction
Calculate 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:
calculateOutputDataTypes
in classDifferentialFunction
- Parameters:
inputDataTypes
- The data types of the inputs- Returns:
- The data types of the outputs
-
doDiff
public List<SDVariable> doDiff(List<SDVariable> grad)
Description copied from class:DifferentialFunction
The actual implementation for automatic differentiation.- Overrides:
doDiff
in classDynamicCustomOp
- Returns:
-
-