Пример #1
0
        private static List <INeuron> CreateLayer(int layerSize, List <IInput> inputs)
        {
            var layerBias = new BiasInput(1.0d);
            var layer     = new List <INeuron>();

            for (var i = 0; i < layerSize; i++)
            {
                var neuron = new Neuron.Neuron(Activation);
                neuron.RegisterInput(layerBias);
                inputs.ForEach(neuron.RegisterInput);
                layer.Add(neuron);
            }
            return(layer);
        }
Пример #2
0
 public Sinaps(Neuron neuron)
 {
     fromNeuron = neuron;
     value      = ((float)rand.Next(interval.X, interval.Y)) / multiplier;
     // value = 0.2f;
 }
Пример #3
0
 private static List<INeuron> CreateLayer(int layerSize, List<IInput> inputs)
 {
     var layerBias = new BiasInput(1.0d);
     var layer = new List<INeuron>();
     for (var i = 0; i < layerSize; i++)
     {
         var neuron = new Neuron.Neuron(Activation);
         neuron.RegisterInput(layerBias);
         inputs.ForEach(neuron.RegisterInput);
         layer.Add(neuron);
     }
     return layer;
 }
Пример #4
0
        static void Main(string[] args)
        {
            string x;
            bool   fired = false;

            Console.WriteLine("Dendritů:");
            int input = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Hodnota pro výstřel:");
            int    input2 = Convert.ToInt32(Console.ReadLine());
            Neuron n      = new Neuron(input, input2);

            do
            {
                foreach (Dendrit d in n.dendrits)
                {
                    if (!fired)
                    {
                        if (n.dendrits.Sum(pkg => pkg._v) >= n.maxV)
                        {
                            SpaceWrite("Vystřeleno");
                            fired = true;
                        }
                        else
                        {
                            Console.WriteLine("Vstup:");
                            int value = Convert.ToInt32(Console.ReadLine());
                            if (value > 1)
                            {
                                value = 1;
                            }
                            d._v = value * d.w;
                            if (value > 0)
                            {
                                d.w++;
                                d.Increase = true;
                            }
                        }
                    }
                }
                int sum = n.dendrits.Sum(pkg => pkg._v);
                SpaceWrite("Suma = " + sum + " Hodnota výstřelu = " + n.maxV);
                foreach (Dendrit d in n.dendrits)
                {
                    if (d.Increase)
                    {
                        Console.WriteLine("Hodnota dendritu: " + d._v + " váha: " + (d.w - 1) + "+1");
                        d.Increase = false;
                    }
                    else
                    {
                        Console.WriteLine("Hodnota dendritu: " + d._v + " váha: " + (d.w - 1));
                    }
                    d._v = 0;
                }
                if (sum >= n.maxV)
                {
                    SpaceWrite("Vystřeleno");
                    Debug.WriteLine(sum + " / " + n.maxV);
                    fired = true;
                }
                else if (!fired)
                {
                    Debug.WriteLine(sum + " / " + n.maxV);
                    SpaceWrite("Opakovat ? (a/n)");
                }
                x = Console.ReadLine();
            } while (x != "n");
        }
Пример #5
0
 public Sinaps(NeuronInput input, Neuron neuron)
 {
     fromNeuron = neuron;
     frominput  = input;
     value      = ((float)rand.Next(interval.X, interval.Y)) / multiplier;
 }