Example #1
0
 /// <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>)));
 }
Example #2
0
        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>());
 }
Example #4
0
 /// <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>());
 }