コード例 #1
0
 /// <summary>
 /// Set new activation function for all neurons of the layer.
 /// </summary>
 ///
 /// <param name="function">Activation function to set.</param>
 ///
 /// <remarks><para>The methods sets new activation function for each neuron by setting
 /// their <see cref="ActivationNeuron.ActivationFunction"/> property.</para></remarks>
 ///
 public void SetActivationFunction(IActivationEquation function)
 {
     Equation = function;
     for (int i = 0; i < Neurons.Length; i++)
     {
         Neurons[i].SetActivationEquation(ref function);
     }
 }
コード例 #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="function"></param>
 public void SetActivationFunction(IActivationEquation function)
 {
     ActivationEquation = function;
     for (int i = 0; i < NbLayers; i++)
     {
         if (function is ReLuActivation)
         {
             if (i == NbLayers - 1)
             {
                 Layers[i].SetActivationFunction(new SoftMaxActivation());
             }
         }
         else
         {
             Layers[i].SetActivationFunction(function);
         }
     }
 }
コード例 #3
0
 public Neuron(IActivationEquation equation, int nConnection = 0)
 {
     Equation = equation;
     Weights  = new double[nConnection];
     Randomize();
 }
コード例 #4
0
 public void SetActivationEquation(ref IActivationEquation a)
 {
     Equation = a;
 }
コード例 #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="nbNeurons"></param>
 /// <param name="nConnections"></param>
 /// <param name="equation"></param>
 public Layer(int nbNeurons, int nConnections, IActivationEquation equation)
 {
     Equation = equation;
     Neurons  = new Neuron[nbNeurons];
     InitialiserNeurons(nConnections);
 }