/// <summary> /// Получение и вывод графика по accuracy во время тренировки нейронной сети /// </summary> private void WriteAccuracy() { string programPath, accuracyPath = ""; while (true) { string result = Client.GetMetrics("accuracy"); if (result.Contains(".zip")) { programPath = result; break; } if (result != "") { accuracyPath = result; accuracyPictureBox.ImageLocation = result; } Thread.Sleep(1000); } MessageBox.Show("Neural network training has ended", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); isEnd = true; // сохранение результатов string newPath = FileNetwork.Copy(Save.NNetwork.Name, programPath); if (newPath != "") { MessageBox.Show("Weights has been saved to " + FileNetwork.GetFullPath(newPath), "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } newPath = FileNetwork.Copy(Save.NNetwork.Name, accuracyPath); if (newPath != "") { MessageBox.Show("Accuracy graph has been saved to " + FileNetwork.GetFullPath(newPath), "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
/// <summary> /// Получение и вывод графика по loss во время тренировки нейронной сети /// </summary> private void WriteLoss() { string lossPath = ""; while (true) { string result = Client.GetMetrics("loss"); if (result.Contains(".zip")) { break; } if (result != "") { lossPath = result; lossPictureBox.ImageLocation = result; } Thread.Sleep(1000); } // сохранение результатов while (!isEnd) { Thread.Sleep(500); } string newPath = FileNetwork.Copy(Save.NNetwork.Name, lossPath); if (newPath != "") { MessageBox.Show("Loss graph has been saved to " + FileNetwork.GetFullPath(newPath), "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } }