/// <summary> /// All units in this layer will use a softmax activation function /// </summary> public static IInventoryAndChaining <TUnit, TConnection, TUnitActivation, TUnitImpl, TConnectionImpl, TInputUnitImpl, TBiasUnitImpl> SoftmaxActivation <TUnit, TConnection, TUnitActivation, TUnitImpl, TConnectionImpl, TInputUnitImpl, TBiasUnitImpl>(this IOutputUnitActivationCreator <TUnit, TConnection, TUnitActivation, TUnitImpl, TConnectionImpl, TInputUnitImpl, TBiasUnitImpl> unitActivationCreator) where TUnit : IUnit where TConnection : IConnection where TUnitActivation : IUnitActivationCreatable <TUnit> where TUnitImpl : TUnit, new() where TConnectionImpl : TConnection, new() where TBiasUnitImpl : TUnitActivation, IUnitActivationCreatable <TUnit>, new() where TInputUnitImpl : TUnitActivation, IUnitActivationCreatable <TUnit>, new() { return(ActivationOutMultiFold(unitActivationCreator, typeof(SoftmaxUnitActivation <TUnit, TConnection, TUnitActivation>))); }
private static IInventoryAndChaining <TUnit, TConnection, TUnitActivation, TUnitImpl, TConnectionImpl, TInputUnitImpl, TBiasUnitImpl> ActivationOutMultiFold <TUnit, TConnection, TUnitActivation, TUnitImpl, TConnectionImpl, TInputUnitImpl, TBiasUnitImpl>(IOutputUnitActivationCreator <TUnit, TConnection, TUnitActivation, TUnitImpl, TConnectionImpl, TInputUnitImpl, TBiasUnitImpl> unitActivationCreator, Type unitActivationType) where TUnit : IUnit where TConnection : IConnection where TUnitActivation : IUnitActivationCreatable <TUnit> where TUnitImpl : TUnit, new() where TConnectionImpl : TConnection, new() where TBiasUnitImpl : TUnitActivation, IUnitActivationCreatable <TUnit>, new() where TInputUnitImpl : TUnitActivation, IUnitActivationCreatable <TUnit>, new() { var genMethod = unitActivationCreator.GetType().GetMethod("OutputUnitActivationMultiFold").MakeGenericMethod(unitActivationType); return((IInventoryAndChaining <TUnit, TConnection, TUnitActivation, TUnitImpl, TConnectionImpl, TInputUnitImpl, TBiasUnitImpl>)genMethod.Invoke(unitActivationCreator, new object[] { })); }
/// <summary> /// All units in this layer will use a softmax activation function /// </summary> public static IInventoryAndChaining SoftmaxActivation(this IOutputUnitActivationCreator unitActivationCreator) { return(unitActivationCreator.OutputUnitActivationMultiFold <SoftmaxUnitActivationTraining>()); }
/// <summary> /// All units in this layer will use a hyperbolic tangent (tanh) activation function /// </summary> public static IInventoryAndChaining <TUnit, TConnection, TUnitActivation, TUnitImpl, TConnectionImpl, TInputUnitImpl, TBiasUnitImpl> HyperbolicTangentActivation <TUnit, TConnection, TUnitActivation, TUnitImpl, TConnectionImpl, TInputUnitImpl, TBiasUnitImpl>(this IOutputUnitActivationCreator <TUnit, TConnection, TUnitActivation, TUnitImpl, TConnectionImpl, TInputUnitImpl, TBiasUnitImpl> unitActivationCreator) where TUnit : IUnit where TConnection : IConnection where TUnitActivation : IUnitActivationCreatable <TUnit> where TUnitImpl : TUnit, new() where TConnectionImpl : TConnection, new() where TBiasUnitImpl : TUnitActivation, IUnitActivationCreatable <TUnit>, new() where TInputUnitImpl : TUnitActivation, IUnitActivationCreatable <TUnit>, new() { return(ActivationOut(unitActivationCreator, typeof(HyperbolicTangentUnitActivation <TUnit>))); }
/// <summary> /// All units in this layer will use a leaky rectified linear unit (ReLU) activation function /// </summary> public static IInventoryAndChaining ReluActivation(this IOutputUnitActivationCreator unitActivationCreator) { return(unitActivationCreator.OutputUnitActivation <ReluUnitActivationTraining>()); }
/// <summary> /// All units in this layer will use a hyperbolic tangent (tanh) activation function /// </summary> public static IInventoryAndChaining HyperbolicTangentActivation(this IOutputUnitActivationCreator unitActivationCreator) { return(unitActivationCreator.OutputUnitActivation <HyperbolicTangentUnitActivationTraining>()); }
/// <summary> /// All units in this layer will an identity activation function (returns the same value inputed). Equal to Σ(weight(n) * netInput(n)) for all n units in the layer below /// </summary> public static IInventoryAndChaining IdentityActivation(this IOutputUnitActivationCreator unitActivationCreator) { return(unitActivationCreator.OutputUnitActivation <IdentityUnitActivationTraining>()); }
/// <summary> /// All units in this layer will use a bipolar activation function /// </summary> public static IInventoryAndChaining BipolarActivation(this IOutputUnitActivationCreator unitActivationCreator) { return(unitActivationCreator.OutputUnitActivation <BipolarUnitActivationTraining>()); }
/// <summary> /// All units in this layer will use a sigmoid activation function /// </summary> public static IInventoryAndChaining SigmoidActivation(this IOutputUnitActivationCreator unitActivationCreator) { return(unitActivationCreator.OutputUnitActivation <SigmoidUnitActivationTraining>()); }