public void IsTrainableByBackPropagation() { var net = MnistLearnerSigmoidNetBuilder.Build(15); var trainingData = new MnistFilesReader(mnistRealDataDirectory).TrainingData.Take(200).Select(p => new LearningNeuralNetworks.V1.Pair <Image, byte>(p.Data, p.Label)).ToArray(); var scoreBeforeTraining = HitsScoredOnTestData(net, trainingData); // new BackPropagationWithGradientDescent().ApplyToBatches(net, trainingData, 10, 3, 100); // var scoreAfterTraining = HitsScoredOnTestData(net, trainingData); Console.WriteLine("Scores before/after training: {0} / {1}", scoreBeforeTraining, scoreAfterTraining); scoreAfterTraining.ShouldBeGreaterThan(scoreBeforeTraining); }
void SetUpLoadedReader() { reader = (reader != null && reader.IsLoaded) ? reader : new MnistFilesReader(mnistRealDataDirectory, 2).EnsureLoaded(); }