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
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()