Class Operation<TIn, TOut>
- Namespace
- NeuralNetworks.Operations
- Assembly
- NeuralNetworks.dll
Base class for an "operation" in a neural network.
public abstract class Operation<TIn, TOut> : Operation where TIn : notnull where TOut : notnull
Type Parameters
TInTOut
- Inheritance
-
Operation<TIn, TOut>
- Derived
- Inherited Members
Properties
Input
protected TIn Input { get; }
Property Value
- TIn
Output
protected TOut Output { get; }
Property Value
- TOut
Methods
Backward(object)
public override object Backward(object outputGradient)
Parameters
outputGradientobject
Returns
Backward(TOut)
Converts output gradient to input gradient.
public virtual TIn Backward(TOut outputGradient)
Parameters
outputGradientTOut
Returns
- TIn
CalcInputGradient(TOut)
Calculates input gradient.
protected abstract TIn CalcInputGradient(TOut outputGradient)
Parameters
outputGradientTOut
Returns
- TIn
Remarks
Based on outputGradient, calculates changes in input.
CalcOutput(bool)
Computes output.
protected abstract TOut CalcOutput(bool inference)
Parameters
inferencebool
Returns
- TOut
Clone()
public Operation<TIn, TOut> Clone()
Returns
- Operation<TIn, TOut>
CloneBase()
protected virtual Operation<TIn, TOut> CloneBase()
Returns
- Operation<TIn, TOut>
EnsureSameShapeForInput(TIn?, TIn)
[Conditional("DEBUG")]
protected abstract void EnsureSameShapeForInput(TIn? input, TIn inputGradient)
Parameters
inputTIninputGradientTIn
EnsureSameShapeForOutput(TOut?, TOut)
[Conditional("DEBUG")]
protected abstract void EnsureSameShapeForOutput(TOut? output, TOut outputGradient)
Parameters
outputTOutoutputGradientTOut
Forward(object, bool)
public override object Forward(object input, bool inference)
Parameters
Returns
Forward(TIn, bool)
Converts input to output.
public virtual TOut Forward(TIn input, bool inference)
Parameters
inputTIninferencebool
Returns
- TOut
GetInputType()
public override Type GetInputType()
Returns
GetOutputType()
public override Type GetOutputType()