/// <summary> /// создает персептрон /// </summary> /// <param name="signal">входной сигнал перцептрона</param> /// <param name="architecture">информация об структуре сети</param> public override void Create(NeuronNetworkArchitecture architecture) { NeuronLayer layer = CreateInputLayer(architecture.CountInputNeurons); NeuronLayer hidLayer = null; for (int i = 0; i < architecture.CountHiddenLayers; i++ ) { hidLayer = AddHiddenLayer(architecture.CountNeuronsInLayer); layer.ConnectLayer(hidLayer); layer = hidLayer; } //NeuronLayer hiddenLayer1 = AddHiddenLayer(2); //NeuronLayer hiddenLayer2 = AddHiddenLayer(2); NeuronLayer outputLayer = CreateOutputLayer(architecture.CountOutputNeurons); layer.ConnectLayer(outputLayer); //inputLayer.ConnectLayer(outputLayer); //inputLayer.ConnectLayer(hiddenLayer1); //hiddenLayer1.ConnectLayer(hiddenLayer2); //hiddenLayer1.ConnectLayer(outputLayer); }
public abstract void Create(NeuronNetworkArchitecture architecture);
private void networkParametersMenuItem_Click(object sender, RoutedEventArgs e) { NetworkParametersWindow networkParameters = new NetworkParametersWindow(); NeuronNetworkArchitecture archtecture = new NeuronNetworkArchitecture(); if(networkParameters.ShowDialog() == true) { archtecture.CountInputNeurons = Convert.ToInt32(networkParameters.countInputNeurons.Text); archtecture.CountOutputNeurons = Convert.ToInt32(networkParameters.countOutputNeurons.Text); archtecture.CountHiddenLayers = Convert.ToInt32(networkParameters.countHiddenLayer.Text); archtecture.CountNeuronsInLayer = Convert.ToInt32(networkParameters.countNeuronsInHiddenLayer.Text); perceptron.Create(archtecture); points.SetNetwork(perceptron.NeuronNetwork()); points.InitializationWeights(); for (int i = 0; i < clearSignal.Count; i++ ) { List<List<double>> tmp = new List<List<double>>(); List<double> sig = new List<double>(); sig.Add(clearSignal[i]); tmp.Add(sig); perceptron.NeuronNetwork().SetSignal(tmp[0]); List<double> output = perceptron.NeuronNetwork().GetSignal(); } int hh; } }