Пример #1
0
        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();
            }
        }
Пример #2
0
        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);
            }
        }