private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { var worker = (BackgroundWorker)sender; worker.DoWork -= worker_DoWork; worker.ProgressChanged -= _progressChangedEventHandler; worker.RunWorkerCompleted -= worker_RunWorkerCompleted; var parameter = (WorkerResultInfo)e.Result; if (parameter.TestingSubsetIndex.HasValue && parameter.NoOfSubsets.HasValue) { OnCompleteCallback?.Invoke(); Succesor?.Start(); } }
private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { var worker = (BackgroundWorker)sender; worker.DoWork -= worker_DoWork; worker.ProgressChanged -= _progressChangedEventHandler; worker.RunWorkerCompleted -= worker_RunWorkerCompleted; var parameter = (WorkerResultInfo)e.Result; var network = parameter.Network; var savePath = _trainingModel.NeuralNetworkPath; var nnModel = new NnModel { Path = savePath, InputNodes = string.Join(";", _trainingModel.TrainingData.InputVariables), OutputNodes = string.Join(";", _trainingModel.TrainingData.OutputVariables) }; if (File.Exists(savePath)) { File.Delete(savePath); _nnRepository.Update(nnModel); } else { _nnRepository.Add(nnModel); } network.Save(savePath); if (parameter.TestingSubsetIndex.HasValue && parameter.NoOfSubsets.HasValue) { OnCompleteCallback?.Invoke(); Succesor?.Start(parameter.NoOfSubsets, parameter.TestingSubsetIndex); } }