Ejemplo n.º 1
0
        private void entrenarBtn_Click(object sender, EventArgs e)
        {
            if (nEntradasInput.Text.Length == 0)
            {
                ShowDialog("Debe cargar la matriz inicial");
            }
            else if (IsCorrectConfiguration())
            {
                if (IsCorrectDataTrain())
                {
                    var nCapas            = int.Parse(nCapasComboBox.Text);
                    var nNeuronasCapa     = new int[nCapas + 1];
                    var fActivacionCapa   = new string[nCapas];
                    var fActivacionSalida = fActivacionCapSalida.Text;
                    var rata         = double.Parse(rataInput.Text);
                    var errorMaximo  = double.Parse(errorMaximoInput.Text);
                    var nIteraciones = int.Parse(nIteracionesInput.Text);

                    if (nCapas == 1)
                    {
                        nNeuronasCapa[0]   = int.Parse(nNeuronasCap1.Text);
                        nNeuronasCapa[1]   = int.Parse(nSalidasInput.Text);
                        fActivacionCapa[0] = fActivacionCap1.Text;
                    }
                    else if (nCapas == 2)
                    {
                        nNeuronasCapa[0]   = int.Parse(nNeuronasCap1.Text);
                        nNeuronasCapa[1]   = int.Parse(nNeuronasCap2.Text);
                        nNeuronasCapa[2]   = int.Parse(nSalidasInput.Text);
                        fActivacionCapa[0] = fActivacionCap1.Text;
                        fActivacionCapa[1] = fActivacionCap2.Text;
                    }
                    else
                    {
                        nNeuronasCapa[0]   = int.Parse(nNeuronasCap1.Text);
                        nNeuronasCapa[1]   = int.Parse(nNeuronasCap2.Text);
                        nNeuronasCapa[2]   = int.Parse(nNeuronasCap3.Text);
                        nNeuronasCapa[3]   = int.Parse(nSalidasInput.Text);
                        fActivacionCapa[0] = fActivacionCap1.Text;
                        fActivacionCapa[1] = fActivacionCap2.Text;
                        fActivacionCapa[2] = fActivacionCap3.Text;
                    }

                    _backService.Train(nCapas, nNeuronasCapa, fActivacionCapa, fActivacionSalida, rata, errorMaximo, nIteraciones);
                    _dataViewControl.VectorToDataGridViewError(_backService.GetErrorVector(), vectorIteracionesDataGridView, "Error");
                    _chartControl.InitChartError(graficaErrorChart, "ERROR VS N°ITERACIONES");
                    index = 0;
                    timerGraficaError.Enabled = true;
                }
            }
        }