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); }