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);
            });
        }