Preparation

References

Examples

Java -> Processing

   1 import org.neuroph.core.NeuralNetwork;
   2 import org.neuroph.nnet.MultiLayerPerceptron;
   3 import org.neuroph.core.learning.TrainingSet;
   4 import org.neuroph.core.learning.TrainingElement;
   5 import org.neuroph.core.learning.SupervisedTrainingElement;
   6 import java.util.Vector;
   7 import org.neuroph.util.TransferFunctionType;
   8 
   9 /**
  10  * This sample shows how to create, train, save and load simple Multi Layer Perceptron
  11  */
  12 
  13 void setup() {
  14 
  15     // create training set (logical XOR function)
  16     TrainingSet trainingSet = new TrainingSet();
  17     trainingSet.addElement(new SupervisedTrainingElement(new double[] {
  18       0, 0
  19     }
  20     , new double[] {
  21       0
  22     }
  23     ));
  24     trainingSet.addElement(new SupervisedTrainingElement(new double[] {
  25       0, 1
  26     }
  27     , new double[] {
  28       1
  29     }
  30     ));
  31     trainingSet.addElement(new SupervisedTrainingElement(new double[] {
  32       1, 0
  33     }
  34     , new double[] {
  35       1
  36     }
  37     ));
  38     trainingSet.addElement(new SupervisedTrainingElement(new double[] {
  39       1, 1
  40     }
  41     , new double[] {
  42       0
  43     }
  44     ));
  45 
  46     // create multi layer perceptron
  47     MultiLayerPerceptron myMlPerceptron = new MultiLayerPerceptron(TransferFunctionType.TANH, 2, 3, 1);
  48     // learn the training set
  49     myMlPerceptron.learnInSameThread(trainingSet);
  50 
  51     // test perceptron
  52     System.out.println("Testing trained neural network");
  53     testNeuralNetwork(myMlPerceptron, trainingSet);
  54 
  55     // save trained neural network
  56     myMlPerceptron.save("myMlPerceptron.nnet");
  57 
  58     // load saved neural network
  59     NeuralNetwork loadedMlPerceptron = NeuralNetwork.load("myMlPerceptron.nnet");
  60 
  61     // test loaded neural network
  62     System.out.println("Testing loaded neural network");
  63     testNeuralNetwork(loadedMlPerceptron, trainingSet);
  64     
  65     noLoop();
  66   }
  67 
  68 void testNeuralNetwork(NeuralNetwork nnet, TrainingSet tset) {
  69   
  70     nnet.setInput(new double[]{1, 0});
  71     nnet.calculate();
  72     double networkOutput = nnet.getOutput()[0];
  73     System.out.println(" Output: " + networkOutput);
  74   }

AdMoVeo XOR

   1 import org.neuroph.core.NeuralNetwork;
   2 import org.neuroph.nnet.MultiLayerPerceptron;
   3 import processing.serial.*;
   4 import nl.tue.id.creapro.admoveo.*;
   5 
   6 AdMoVeo admoveo;
   7 int bgcolor = 0;
   8 int left = 0, right = 0;
   9 int result = 0;
  10 NeuralNetwork nnet;  
  11 
  12 void setup() {
  13   nnet = NeuralNetwork.load("C:/Users/jhu/Documents/NetBeansProjects/XORProject/Neural Networks/NewNeuralNetwork.nnet");
  14  
  15   admoveo = new AdMoVeo(this, "COM3"); 
  16   admoveo.getLeftDistanceSensor().enable();
  17   admoveo.getRightDistanceSensor().enable();
  18 }
  19 
  20 void draw()
  21 {
  22   background(0,0,bgcolor);
  23 }
  24 
  25 void inputAvailable(Sensor sensor, int oldValue, int newValue){  
  26     if(sensor == admoveo.getLeftDistanceSensor()){
  27       println(newValue);
  28       left = newValue < 900? 1: 0;
  29     }
  30     if(sensor == admoveo.getRightDistanceSensor()){
  31        right = newValue < 900? 1: 0;
  32 
  33     }
  34     nnet.setInput(new double[] {left, right});
  35     nnet.calculate();
  36     int output = nnet.getOutput()[0]>.5?1:0;
  37     //println(""+ left + " " + right +  " " + output);
  38     
  39     if(output!=result){
  40       bgcolor = output *255;
  41       admoveo.getBlueLed().setPower(bgcolor);
  42       result = output;
  43     }
  44 }

A trained XOR multilayer perceptron network

MultiLayerPerceptron.nnet

CreaPro: AdmoveoNeuralNetwork (last edited 2011-02-22 15:23:32 by JunHu)