private void ParallelTrainingRProp() { var neuralNetworkRProp = new MultiThreadNeuralNetworkRProp(new ActivationSigmoid { Alpha = 1 }, NetworkStructure); var inputSets = InputDatasets.ToArray(); var outputSets = OutputDatasets.ToArray(); double count = 0; double iteration = 0.0; while (iteration < TrainingConfiguration.EndIteration - TrainingConfiguration.StartIteration) { var error = neuralNetworkRProp.Train(inputSets, outputSets); if (count >= 500) { count = 0; Console.WriteLine($"Iteration: {iteration}\t Error: {error}"); } count++; iteration++; } neuralNetworkRProp.SaveMemory(FileManager.MemoryFolderPath + "\\memory.txt", NetworkStructure); // Запись события об успешном обучении: LastTrainingSuccess = true; }
private void TrainingGeneticAlg(bool unsafeMode = false) { GeneticAlgorithmTeacher geneticAlgTeacher = new GeneticAlgorithmTeacher { NetworkStructure = NetworkStructure, InputDatasets = InputDatasets.ToList(), OutputDatasets = OutputDatasets.ToList() }; geneticAlgTeacher.StartTraining(TrainingConfiguration.EndIteration - TrainingConfiguration.StartIteration, unsafeMode, TrainingConfiguration.MemoryFolder + "//memory.txt"); // Запись события об успешном обучении: LastTrainingSuccess = true; }