Table of Contents

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

TIn
TOut
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

outputGradient object

Returns

object

Backward(TOut)

Converts output gradient to input gradient.

public virtual TIn Backward(TOut outputGradient)

Parameters

outputGradient TOut

Returns

TIn

CalcInputGradient(TOut)

Calculates input gradient.

protected abstract TIn CalcInputGradient(TOut outputGradient)

Parameters

outputGradient TOut

Returns

TIn

Remarks

Based on outputGradient, calculates changes in input.

CalcOutput(bool)

Computes output.

protected abstract TOut CalcOutput(bool inference)

Parameters

inference bool

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

input TIn
inputGradient TIn

EnsureSameShapeForOutput(TOut?, TOut)

[Conditional("DEBUG")]
protected abstract void EnsureSameShapeForOutput(TOut? output, TOut outputGradient)

Parameters

output TOut
outputGradient TOut

Forward(object, bool)

public override object Forward(object input, bool inference)

Parameters

input object
inference bool

Returns

object

Forward(TIn, bool)

Converts input to output.

public virtual TOut Forward(TIn input, bool inference)

Parameters

input TIn
inference bool

Returns

TOut

GetInputType()

public override Type GetInputType()

Returns

Type

GetOutputType()

public override Type GetOutputType()

Returns

Type