Interface CROperatorBackwardsJac<T>
- All Superinterfaces:
CROperatorForward<T>
- All Known Implementing Classes:
CRErrorHuberNorm, CRErrorVectorSW, CRLossHuber, CROperatorBilinearND, CROperatorBilinearPolyND, CROperatorBilinearSplineND, CROperatorClampLower, CROperatorConcat, CROperatorDivide, CROperatorDivideVS, CROperatorDivideVSDamped, CROperatorGridBilinearWeights, CROperatorMeanVector, CROperatorMult, CROperatorMultVS, CROperatorPlus, CROperatorPlusAB, CROperatorRemapParams, CRPenaltyL2
Computes the Jacobian in the backwards direction and is used when optimizing. If the parameters are assumed to be
known then no Jacobian will be produced for them since they are not being optimized. By default, parameters are not
assumed to be known.
-
Method Summary
Methods inherited from interface CROperatorForward
forward, getArrayType, getInputCount, getInputSize, getOutputSize, getSettings, normalizeAfterStep, setInput, setSettings
-
Method Details
-
jacobian
Computes the Jacobian of all the inputs and parameters to this function.
Mathematical explanation of how the partial derivatives are computed:
@Out(..)/@x = [@f1(x,y)/@x @f1(x,y)/@y ; @f2(x,y)/@x ... ] * @???/@fWhere Out is the final output, 'f' is this function with two inputs (x,y). '@Out/@f' is dout.
- Parameters:
dout- (Input) Jacobian of output conditional on this function, computed from next layer.jacobianInputs- (Output) Storage for all the Jacobian inputs. All matrices must be pre-declared and included in the list. If a matrix is marked as invalid, then the jacobian is skipped for that input.
-