public void PerformEpochAndAssert() { var trainingData = TrainingDataSet.For(inputs, outputs); var errorRate = trainingMethod.PerformSingleEpochProducingErrorRate(trainingData); AssertResultOfTrainingEpoch(errorRate); }
public BackPropagationPerformanceComparisonContainer() { var neuralNetworkUnderTest = NeuralNetwork .For(NeuralNetworkContext.MaximumPrecision) .WithInputLayer(neuronCount: 5, activationType: ActivationType.Sigmoid) .WithHiddenLayer(neuronCount: 100, activationType: ActivationType.Sigmoid) .WithHiddenLayer(neuronCount: 70, activationType: ActivationType.TanH) .WithHiddenLayer(neuronCount: 40, activationType: ActivationType.TanH) .WithHiddenLayer(neuronCount: 100, activationType: ActivationType.Sigmoid) .WithOutputLayer(neuronCount: 2, activationType: ActivationType.Sigmoid) .Build(); trainingData = new[] { TrainingDataSet.For(new [] { 0.78, 0.99, 0.67, 0.72, 0.22 }, new [] { 0.12, 0.14 }) }; multiThreadedController = TrainingController.For( BackPropagation .WithConfiguration(neuralNetworkUnderTest, ParallelOptionsExtensions.UnrestrictedMultiThreadedOptions)); singleThreadedController = TrainingController.For( BackPropagation .WithConfiguration(neuralNetworkUnderTest, ParallelOptionsExtensions.SingleThreadedOptions)); }
public static TrainingDataSet TrainingDataFromRow(IrisDataRow row) { var species = Enumerable.Repeat(0.0, 3).ToArray(); species[Convert.ToInt32(row.Species) - 1] = 1.0; return(TrainingDataSet.For( row.PredictionDataPoints, species.ToArray())); }
public static TrainingDataSet ToTrainingData(this BankTransaction bankTransaction) { var inputs = bankTransaction.ToNetworkInputData(); var outputs = Enumerable.Repeat(0.0, 2).ToList(); outputs[Convert.ToInt32(bankTransaction.Class)] = 1; return(TrainingDataSet.For(inputs.ToArray(), outputs.ToArray())); }
private static List <TrainingDataSet> GetMyTrainingData() { // 2 tableaux // inputs : double[22][64] // outputs : double[22][3] string filename = BASEFOLDER + "Base.txt"; string[] lines = File.ReadAllLines(filename); // lines va contenir 44 lines int nbSamples = lines.Length / 2; // 22 exemples double[][] inputs = new double[nbSamples][]; double[][] outputs = new double[nbSamples][]; for (int i = 0; i < nbSamples; i++) { inputs[i] = new double[64]; // inputs[i] est de type double[] outputs[i] = new double[3]; // lines[2*i+0] contient la string "0000010101001001001010101010" // lines[2*i+1] contient la string "C" int k = 0; foreach (char c in lines[2 * i]) { if (c == '0') { inputs[i][k] = 0.0; } if (c == '1') { inputs[i][k] = 1.0; } k++; } if (lines[2 * i + 1] == "A") { outputs[i][0] = 1.0; outputs[i][1] = 0.0; outputs[i][2] = 0.0; } if (lines[2 * i + 1] == "B") { outputs[i][0] = 0.0; outputs[i][1] = 1.0; outputs[i][2] = 0.0; } if (lines[2 * i + 1] == "C") { outputs[i][0] = 0.0; outputs[i][1] = 0.0; outputs[i][2] = 1.0; } } return(inputs.Select((input, i) => TrainingDataSet.For(input, outputs[i])).ToList()); }
private static List <TrainingDataSet> GetXorTrainingData() { var inputs = new[] { new[] { 0.0, 0.0 }, new[] { 0.0, 1.0 }, new[] { 1.0, 0.0 }, new[] { 1.0, 1.0 } }; var outputs = new[] { new[] { 0.0 }, new[] { 1.0 }, new[] { 1.0 }, new[] { 0.0 } }; return(inputs.Select((input, i) => TrainingDataSet.For(input, outputs[i])).ToList()); }
public static IEnumerable <TrainingDataSet> BuildTrainingDataForAllInputs( IEnumerable <double[]> inputs, IEnumerable <double[]> outputs) { return(inputs.Zip(outputs, (input, output) => TrainingDataSet.For(input, output))); }