private void Testare_Click(object sender, EventArgs e) { string user = SelectedUser_Label.Text; if (user == "Nimeni") { return; } rs = new ReteaNeuronala(12, 1, nrNeuroni, 1); string path = $"{Path.GetDirectoryName(Application.ExecutablePath)}\\Weights\\{user}.txt"; bool a = File.Exists(path); if (File.Exists(path)) { rs.ImportXML(user); } else { rs.ExportXML(user); } Inputs = new List <List <double> >(); Target = new List <List <double> >(); path = $"{Path.GetDirectoryName(Application.ExecutablePath)}\\TestSet\\{SelectedUser_Label.Text}.txt"; FileStream f = new FileStream(path, FileMode.Open, FileAccess.Read); List <List <double> > ob = (List <List <double> >)xss.Deserialize(f); for (int i = 0; i < ob.Count; i++) { List <double> aux = new List <double>(ob[i]); aux.RemoveAt(aux.Count - 1); Inputs.Add(new List <double>(aux)); aux = new List <double>(ob[i]); aux.RemoveRange(0, 12); Target.Add(new List <double>(aux)); } List <double> Rez = new List <double>(); List <double> Targ = new List <double>(); for (int j = 0; j < Inputs.Count(); j++) { rs.ForWordPropagation(Inputs[j], Target[j]); List <double> tg_aux = new List <double>(Target[j]); List <double> rz_aux = new List <double>(rs.Return_Result()); Rez.Add(rz_aux[0]); Targ.Add(tg_aux[0]); } Testare_label.Text = Eroarre(Rez, Targ).ToString() + "%"; f.Close(); f.Dispose(); }
private void Work(object sender, DoWorkEventArgs e) { int nr_generatii = (int)NumericUpDown.Value; double eroare_dorita = (double)NumericUpDown_Eroare.Value; for (int i = 0; i < nr_generatii; i++) { Thread.Sleep(2); if (Worker.CancellationPending) { e.Cancel = true; return; } List <double> Rez = new List <double>(); List <double> Targ = new List <double>(); for (int j = 0; j < Inputs.Count(); j++) { rs.ForWordPropagation(Inputs[j], Target[j]); rs.BackPropagation(Target[j]); List <double> tg_aux = new List <double>(Target[j]); List <double> rz_aux = new List <double>(rs.Return_Result()); Rez.Add(rz_aux[0]); Targ.Add(tg_aux[0]); } if (i % 25 == 0) { AmestecaInputsTargets(); } BeginInvoke((MethodInvoker) delegate { GeneratieValue_label.Text = i.ToString(); EroareValue_Label.Text = $"{Eroare(Rez, Targ).ToString()}"; chart3.Series["Eroare"].Points.AddXY(i, Eroare(Rez, Targ)); if (Eroare(Rez, Targ) < eroare_dorita) { Stop.PerformClick(); } }); } BeginInvoke((MethodInvoker) delegate { rs.ExportXML(SelectedUser_Label.Text); }); }