Beispiel #1
0
    void Start()
    {
        instance = this;

        red = new RedNeuronal(numInput, numHidden, numOutput);
        EntrenarRed();
    }
Beispiel #2
0
    void Awake()
    {
        Red                        = new RedNeuronal(7, 5, 2);
        IsVivo                     = true;
        IsArrancado                = false;
        MovimientoCoche            = gameObject.GetComponent <WheelDrive>();
        Volante                    = GameObject.FindGameObjectWithTag("Volante");
        Volante.transform.rotation = new Quaternion(0f, 0f, 0f, 1f);
        this.MatrizDePesos         = new double[Red.Red.Conexiones.Count];

        ultimaposicion = transform.position;
    }
Beispiel #3
0
        private void BtnCargarPesosyUmbrales_Click(object sender, EventArgs e)
        {
            if (patrones == 0)
            {
                MessageBox.Show("Debe cargar un archivo para continuar con el entreamiento",
                                "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                OpenFileDialog d = new OpenFileDialog
                {
                    Title  = "Importar archivo (.json)",
                    Filter = "JSON|*.json"
                };
                if (d.ShowDialog() == DialogResult.OK)
                {
                    using (StreamReader jsonStream = File.OpenText(d.FileName))
                    {
                        var         json = jsonStream.ReadToEnd();
                        RedNeuronal perceptronDevuelto = JsonConvert.DeserializeObject <RedNeuronal>(json);

                        if (perceptronDevuelto.Entradas.Equals(matrizEntradas) ||
                            perceptronDevuelto.SalidasDeseadas.Equals(this.matrizSalidas))
                        {
                            MessageBox.Show("Los patrones no coinciden entre si", "Atencion",
                                            MessageBoxButtons.OK, MessageBoxIcon.Error);
                            RedNeuronal = null;
                        }
                        else
                        {
                            RedNeuronal              = perceptronDevuelto;
                            nudNumeroCapas.Enabled   = false;
                            TopologiaCargada         = true;
                            nudErrorMaximo.Value     = Convert.ToDecimal(RedNeuronal.ErrorMaximo);
                            NudRataDinamica.Value    = Convert.ToDecimal(RedNeuronal.RataDinamica);
                            nudRataAprendizaje.Value = Convert.ToDecimal(RedNeuronal.RataAprendizaje);
                            nudNumeroCapas.Value     = Convert.ToDecimal(RedNeuronal.Capas.Count);
                            lblIteracion.Text        = "Iteracion: " + RedNeuronal.IteracionesEntrenamiento;
                            lblError.Text            = "Error Entrenamiento: " + RedNeuronal.ErrorEntrenamiento;
                            ReadOnlyDgvTopologia(true);
                            MessageBox.Show("¡Pesos y umbrales cargados con exito!\nProceda a " +
                                            "configurar los parametros de entrenamiento y pulse Inicializar", "Informacion",
                                            MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                }
            }
        }
Beispiel #4
0
        private void BtnNuevo_Click(object sender, EventArgs e)
        {
            RedNeuronal = null;
            foreach (var series in CartesianErrors.Series)
            {
                series.Values.Clear();
            }

            CartesianVariacionRealDeseada.Series.Clear();
            CrearSeriesGrafica();
            btnInicializarRed.Enabled = true;
            dgvTopologiaRed.Enabled   = true;
            nudNumeroCapas.Enabled    = true;
            redEntrenada     = false;
            redInicializada  = false;
            TopologiaCargada = false;
        }
Beispiel #5
0
        private void BtnInicializarRed_Click(object sender, EventArgs e)
        {
            string respuesta = VerficarReglasParaInicializacion();

            if (respuesta != "")
            {
                MessageBox.Show(respuesta,
                                "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                int[] neuronasPorCapa    = new int[Convert.ToInt16(nudNumeroCapas.Value)];
                int   numeroActivaciones = Convert.ToInt16(nudNumeroCapas.Value);
                int[] activaciones       = new int[numeroActivaciones];
                activaciones[0] = 1;

                TopologiaCapas(neuronasPorCapa, numeroActivaciones, activaciones);
                if (!TopologiaCargada)
                {
                    RedNeuronal = new RedNeuronal(matrizSalidas, patrones, matrizEntradas
                                                  , CmbAlgoritmoEntrenamiento.SelectedIndex);
                    Random random = new Random();
                    RedNeuronal.CreaCapas(neuronasPorCapa, random);
                    TopologiaCargada = true;
                }
                RedNeuronal.ParametrosEntrenaiento(Convert.ToDouble(
                                                       nudErrorMaximo.Value), Convert.ToDouble(
                                                       this.nudRataAprendizaje.Value), Convert.ToInt32(
                                                       nudNoIteraciones.Value), activaciones, Convert.ToDouble(NudRataDinamica.Value));
                redInicializada = true;
                txtLog.Text    += "Red Inicalizada con exito\n";
                txtLog.Text    += "_____________________\n";
                //foreach (var series in CartesianVariacionRealDeseada.Series)
                //{
                //    series.Values.Clear();
                //}
                CartesianVariacionRealDeseada.Series.Clear();
                Errores.Clear();
                CrearSeriesGrafica();
            }
        }
Beispiel #6
0
 public void Simular(RedNeuronal redNeuronal)
 {
 }
Beispiel #7
0
 public void Entrenar(RedNeuronal redNeuronal)
 {
 }