private void TrainNetwork() { network = (BasicNetwork)EncogDirectoryPersistence.LoadObject(Config.TrainedNetworkFile); trainingSet = EncogUtility.LoadCSV2Memory(Config.NormalizedTrainingFile.ToString(), network.InputCount, network.OutputCount, true, CSVFormat.English, false); crossValidationSet = EncogUtility.LoadCSV2Memory(Config.NormalizedCrossValidationFile.ToString(), network.InputCount, network.OutputCount, true, CSVFormat.English, false); train = new ResilientPropagation(network, trainingSet); IterationDataCollection.Clear(); CVIterationDataCollection.Clear(); IterationLogs.Clear(); trainWorker.RunWorkerAsync(); }
void trainWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) { Action UpdateCollection = () => { var IterationResults = (KeyValuePair <int, double>[])e.UserState; IterationDataCollection.Add(new IterationData() { IterationError = IterationResults[0].Value, IterationNumber = IterationResults[0].Key }); CVIterationDataCollection.Add(new IterationData() { IterationError = IterationResults[1].Value, IterationNumber = IterationResults[1].Key }); IterationLogs.Add(String.Format(IterationResults[0].Value + " Epoch-> " + IterationResults[0].Key)); }; App.Current.Dispatcher.Invoke(UpdateCollection, DispatcherPriority.Normal); }