private BackPropagation( NeuralNetwork neuralNetwork, NeuronErrorGradientCalculator neuronErrorGradientCalculator, SynapseWeightCalculator synapseWeightCalculator, ParallelOptions parallelOptions) : base(neuralNetwork) { this.neuralNetwork = neuralNetwork; this.neuronErrorGradientCalculator = neuronErrorGradientCalculator; this.synapseWeightCalculator = synapseWeightCalculator; this.parallelOptions = parallelOptions; }
public static BackPropagation WithConfiguration( NeuralNetwork network, ParallelOptions parallelOptions, double learningRate = 1, double momentum = 0) { return(new BackPropagation( network, NeuronErrorGradientCalculator.Create(), SynapseWeightCalculator.For(learningRate, momentum), parallelOptions )); }