Beispiel #1
0
 public bool Sub(CancellationToken token)
 {
     if (!token.IsCancellationRequested)
     {
         while (!perceptron.Entrenamiento(configuracion.DatosDeEntrada, configuracion.DatosDeSalida, configuracion.CiclosDeInteraccion, configuracion.ErrorAceptable, configuracion.SaltosDelta, token))
         {
             perceptron = new Percepcion(configuracion.Entradas, configuracion.NeurnasPorCapa, configuracion.Salidas);
         }
         return(true);
     }
     else
     {
         return(false);
     }
 }
Beispiel #2
0
        private void Boton_ConfirmarPerceptron_Click(object sender, RoutedEventArgs e)
        {
            int[] bufferNeuronas = new int[textBoxesConfiguracion.Count];

            for (int i = 0; i < textBoxesConfiguracion.Count; i++)
            {
                if (Convert.ToInt32(textBoxesConfiguracion[i].Text) <= 0)
                {
                    bufferNeuronas[i] = 1;
                }
                else
                {
                    bufferNeuronas[i] = Convert.ToInt32(textBoxesConfiguracion[i].Text);
                }
            }
            configuracion.NeurnasPorCapa = bufferNeuronas;
            Grid_Entrenamiento.IsEnabled = true;
            perceptron = new Percepcion(configuracion.Entradas, configuracion.NeurnasPorCapa, configuracion.Salidas);
        }
Beispiel #3
0
        private void Button_AbrirEntrenamiento_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter = "Archivos de Entrenamiento (*.rednn)|*.rednn;";
            Rednn rednn = new Rednn();

            try
            {
                openFileDialog.ShowDialog();
                rednn = Serializacion.Deserializar <Rednn>(openFileDialog);

                perceptron    = rednn.Percepcion;
                configuracion = rednn.Configuracion;
                EstablecerControles(configuracion);
                txt_Capas.TextChanged -= txt_Capas_TextChanged;
                txt_Capas.Text         = configuracion.Capas.ToString();

                foreach (TextBox item in textBoxesConfiguracion)
                {
                    item.TextChanged -= Text_TextChanged;
                }
                WrapPanel_TextBox.Children.Clear();
                textBoxesConfiguracion.Clear();
                for (int i = 0; i < configuracion.NeurnasPorCapa.Length; i++)
                {
                    GroupBox group   = new GroupBox();
                    TextBox  textBox = new TextBox();
                    group.Header = "Capa " + (i + 1);
                    group.Height = 200;
                    group.Width  = 200;
                    group.Margin = new Thickness(25);
                    textBox.SetValue(HintAssist.IsFloatingProperty, true);
                    textBox.SetValue(HintAssist.HintProperty, "Neuronas");

                    //textBox.Margin = new Thickness(25, 25, 25, 25);
                    textBox.Foreground          = Brushes.White;
                    textBox.BorderBrush         = new SolidColorBrush(Color.FromRgb(133, 133, 133));
                    textBox.FontSize            = 20;
                    textBox.Foreground          = Brushes.White;
                    textBox.HorizontalAlignment = HorizontalAlignment.Center;
                    textBox.VerticalAlignment   = VerticalAlignment.Center;
                    textBox.Text  = configuracion.NeurnasPorCapa[i].ToString();
                    group.Content = textBox;



                    WrapPanel_TextBox.Children.Add(group);
                }

                foreach (GroupBox box in WrapPanel_TextBox.Children)
                {
                    textBoxesConfiguracion.Add((TextBox)box.Content);
                }
                foreach (TextBox text in textBoxesConfiguracion)
                {
                    text.TextChanged += Text_TextChanged;
                }
                txt_Capas.TextChanged += txt_Capas_TextChanged;
            }
            catch (Exception a)
            {
                MessageBox.Show(a.Message);
            }
        }
Beispiel #4
0
        private void Boton_Entrenamiento_Click(object sender, RoutedEventArgs e)
        {
            SeEntrena = !SeEntrena;

            if (SeEntrena)
            {
                Boton_Entrenamiento.Content = "Detener";
                graficaLow.Reset();
                tokenSource = new CancellationTokenSource();
                token       = tokenSource.Token;
                perceptron  = new Percepcion(configuracion.Entradas, configuracion.NeurnasPorCapa, configuracion.Salidas);
                perceptron.MarcadorDeError += Perceptron_MarcadorDeError;
                Task.Factory.StartNew(() => Sub(token), token);
            }
            else
            {
                Boton_Entrenamiento.Content = "Entrenar";
                tokenSource.Cancel();
            }



            //SeEntrena = !SeEntrena;
            //if (!SeEntrena)
            //{
            //    tokenSource.Cancel();
            //}
            //else
            //{
            //    grafica.Reset();
            //    perceptron = new Percepcion(configuracion.Entradas, configuracion.NeurnasPorCapa, configuracion.Salidas);
            //    perceptron.MarcadorDeError += Perceptron_MarcadorDeError;
            //   Task.Factory.StartNew(() => Sub(token), token);
            //}



            //tokenSource.Cancel();
            //if (SeEntrena)
            //{
            //    Percepcion.Entrenar = true;

            //grafica.Reset();
            //perceptron = new Percepcion(configuracion.Entradas, configuracion.NeurnasPorCapa, configuracion.Salidas);
            //perceptron.MarcadorDeError += Perceptron_MarcadorDeError;
            //var tarea = Task.Factory.StartNew(() => Sub(token), token);
            //}
            //else
            //{
            //    tokenSource.Cancel();
            //}
            //if (SeEntrena)
            //{
            //    Task.Factory.StartNew(() =>
            //    {
            //        if (!token.IsCancellationRequested)
            //        {
            //            Percepcion.Entrenar = true;
            //            grafica.Reset();
            //            perceptron = new Percepcion(configuracion.Entradas, configuracion.NeurnasPorCapa, configuracion.Salidas);
            //            perceptron.MarcadorDeError += Perceptron_MarcadorDeError;
            //            Sub();

            //        }
            //        else
            //        {
            //            Percepcion.Entrenar = false;
            //        }

            //    }, token);
            //}
            //else
            //{
            //    tokenSource.Cancel();
            //}



            //SeEntrena = !SeEntrena;

            //Thread.Sleep(100);
            //tokenSource = new CancellationTokenSource();
            //token = tokenSource.Token;

            //if (SeEntrena)
            //{

            //    Percepcion.Entrenar = true;
            //    grafica.Reset();
            //    perceptron = new Percepcion(configuracion.Entradas, configuracion.NeurnasPorCapa, configuracion.Salidas);
            //    Task.Factory.StartNew(() => Sub(token), token);


            //    perceptron.MarcadorDeError += Perceptron_MarcadorDeError;

            //}
            //else
            //{
            //    tokenSource.Cancel();
            //    Percepcion.Entrenar = false;
            //}
        }