Esempio n. 1
0
        public InputNeuron createNewInput()         //Methode, die ein neues Inputneuron zur liste inputNeurons hinzufügt und das Neue InputNeuron zurueckgibt
        {
            InputNeuron iN = new InputNeuron();

            inputNeurons.Add(iN);
            return(iN);
        }
Esempio n. 2
0
 public InputLayer(int size, Network n) : base(size, n)
 {
     InputNeuron[] InputNeurons = new InputNeuron[size];
     for (int i = 0; i < size; i++)
     {
         InputNeurons[i]      = new InputNeuron(this);
         InputNeurons[i].name = "inputNeuron " + i;
     }
     this.neurons = InputNeurons;
 }
        private void CreateInputLayer()
        {
            var inputNeurons = new Neuron[Topology.InputCount];

            for (int i = 0; i < Topology.InputCount; i++)
            {
                var neuron = new InputNeuron(1, NeuronType.Input);
                inputNeurons[i] = neuron;
            }
            var inputLayer = new Layer(inputNeurons, NeuronType.Input);

            Layers[0] = inputLayer;
        }
Esempio n. 4
0
        private void CreateNeurons(ushort[] layerSizes, ITransferFunction[] transferFunctions)
        {
            if (layerSizes.Length != transferFunctions.Length)
            {
                throw new ArgumentException("Cannot make a network with these parameters.");
            }

            if (transferFunctions[0] != null)
            {
                throw new ArgumentException("Input layer transfer function must be null.");
            }

            Neurons = new Neuron[layerSizes.Length][];
            for (byte l = 0; l < layerSizes.Length; l++)
            {
                // creates neurons in the input layer
                if (l == 0)
                {
                    Neurons[l] = new InputNeuron[layerSizes[l]];
                    for (ushort i = 0; i < layerSizes[l]; i++)
                    {
                        Neurons[l][i] = new InputNeuron(transferFunctions[l]);
                    }
                }

                // creates neurons in the hidden layer(s)
                else if (l < layerSizes.Length - 1)
                {
                    Neurons[l] = new HiddenNeuron[layerSizes[l]];
                    for (ushort i = 0; i < layerSizes[l]; i++)
                    {
                        Neurons[l][i] = new HiddenNeuron(transferFunctions[l]);
                    }
                }

                // creates neurons in the output layer
                else
                {
                    Neurons[l] = new OutputNeuron[layerSizes[l]];
                    for (ushort i = 0; i < layerSizes[l]; i++)
                    {
                        Neurons[l][i] = new OutputNeuron(transferFunctions[l]);
                    }
                }
            }
        }
 public String GetName()
 {
     if (OutputNeuron != null)
     {
         if (InputNeuron != null)
         {
             return(String.Format("Source: {0}, Target: {1}", InputNeuron.GetName(), OutputNeuron.GetName()));
         }
         else
         {
             return(String.Format("Input layer: {0}, Target: {1}", InputIndex, OutputNeuron.GetName())); //input
         }
     }
     else
     {
         return("");
     }
 }
Esempio n. 6
0
		public static void Main(string[] args)
		{
//			InputNeuron iN = new InputNeuron();
//			Console.WriteLine("Der wert aus iN ist: \n"+ iN.getValue());
			
			//----------------SINGLE PERCEPTRON TEST----------------
			
			NeuralNetwork NN = new NeuralNetwork();
			
			InputNeuron i1 = NN.createNewInput();
			InputNeuron i2 = NN.createNewInput();
			InputNeuron i3 = NN.createNewInput();
			InputNeuron i4 = NN.createNewInput();
			
			NN.createNewHidden(3);
			
			WorkingNeuron o1 = NN.createNewOutput();
			
			NN.createFullMesh(new float[]{10,0,0,0,
			                  		0,0,0,0,
			                  		0,0,0,0,
			                  		10,0,0}); //gebraucht sind: #Input*#Hidden + #hidden*#Output gewichte
			
			
			i1.setValue(1);
			i2.setValue(2);
			i3.setValue(3);
			i4.setValue(4);
			
			Console.Write("Das Output Neuron o1 gibt folgenden Wert aus:\n"+o1.getValue()+"\n\n");
			
			
//			
			
			
			//------------ENDE PERCEPTRON TEST--------------------			
			
			Console.Write("Press any key to continue . . . ");
			Console.ReadKey(true);
		}