void Start() { instance = this; red = new RedNeuronal(numInput, numHidden, numOutput); EntrenarRed(); }
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; }
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); } } } } }
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; }
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(); } }
public void Simular(RedNeuronal redNeuronal) { }
public void Entrenar(RedNeuronal redNeuronal) { }