Example #1
0
 public PerformTrainingModel(
     NeuralNetworkTrainingService networkTrainingService,
     IOptions <NeuralNetworkTrainingConfiguration> trainingConfiguration)
 {
     this.networkTrainingService = networkTrainingService;
     this.trainingConfiguration  = trainingConfiguration.Value;
 }
        public async Task TrainConfiguredNetworkForEpochs(
            int epochs,
            NeuralNetworkTrainingConfiguration trainingConfig)
        {
            var trainingData = dataProvider.TrainingData
                               .Select(transaction => transaction.ToTrainingData())
                               .ToList();

            await TrainingController.For(BackPropagation.WithConfiguration(
                                             networkAccessor.TargetNetwork,
                                             ParallelOptionsExtensions.MultiThreadedOptions(trainingConfig.ThreadCount),
                                             trainingConfig.LearningRate,
                                             trainingConfig.Momentum))
            .TrainForEpochsOrErrorThresholdMet(trainingData, epochs, trainingConfig.MinimumErrorThreshold);
        }