Exemple #1
0
        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;
        }
Exemple #2
0
        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;
        }