public void Run() { // create training set (logical XOR function) TrainingSet trainingSet = new TrainingSet(2, 1); trainingSet.Add(new SupervisedTrainingElement(new double[] { 0, 0 }, new double[] { 0 })); trainingSet.Add(new SupervisedTrainingElement(new double[] { 0, 1 }, new double[] { 1 })); trainingSet.Add(new SupervisedTrainingElement(new double[] { 1, 0 }, new double[] { 1 })); trainingSet.Add(new SupervisedTrainingElement(new double[] { 1, 1 }, new double[] { 0 })); // create multi layer perceptron MultiLayerPerceptron myMlPerceptron = new MultiLayerPerceptron(TransferFunctionType.TANH, 2, 3, 1); // learn the training set Console.WriteLine("Training neural network..."); myMlPerceptron.LearnInSameThread(trainingSet); // test perceptron Console.WriteLine("Testing trained neural network"); TestNeuralNetwork(myMlPerceptron, trainingSet); // save trained neural network myMlPerceptron.Save("myMlPerceptron.nnet"); // load saved neural network NeuralNetwork loadedMlPerceptron = NeuralNetwork.Load("myMlPerceptron.nnet"); // test loaded neural network //Console.WriteLine("Testing loaded neural network"); //testNeuralNetwork(loadedMlPerceptron, trainingSet); }
public void Run() { NeuralNetwork network = new MultiLayerPerceptron(TransferFunctionType.SIGMOID, WINDOW_SIZE, 10, 1); /*if( !FlatNetworkPlugin.flattenNeuralNetworkNetwork(network) ) { Console.WriteLine("Failed to flatten network."); }*/ NormalizeSunspots(0.1, 0.9); network.LearningRule.AddObserver(this); TrainingSet training = GenerateTraining(); network.LearnInSameThread(training); Predict(network); //FlatNetworkPlugin.shutdown(); }