2016-07-11 10 views
0

Ich verwende Neurop 2.9 Framework, um ANN zu codieren, um die Immobilienpreise vorherzusagen. Ich möchte jeden Fehler jedes Mal in jeder Epoche (um die Verbesserung des Fehlers im Diagramm anzuzeigen) bekommen, aber das verursacht einen Fehler.Error NullPointer Neuroph doOneLearningIteration

// create multi layer perceptron 
    System.out.println("Creating neural network"); 
    MultiLayerPerceptron neuralNet = new MultiLayerPerceptron(
      TransferFunctionType.SIGMOID, inputsCount, hiddentsCount1, 
      outputsCount); 

// set learning parameters 
    MomentumBackpropagation learningRule = new MomentumBackpropagation(); 
    learningRule.setLearningRate(0.3); 
    learningRule.setMomentum(0.5); 
    learningRule.setNeuralNetwork(neuralNet); 

    learningRule.setTrainingSet(TrainSet); 
    learningRule.doOneLearningIteration(TrainSet); 

ich dieses:

Exception in thread "main" java.lang.NullPointerException 
at org.neuroph.nnet.learning.MomentumBackpropagation.updateNeuronWeights(MomentumBackpropagation.java:72) 
at org.neuroph.nnet.learning.BackPropagation.calculateErrorAndUpdateOutputNeurons(BackPropagation.java:83) 
at org.neuroph.nnet.learning.BackPropagation.updateNetworkWeights(BackPropagation.java:53) 
at org.neuroph.core.learning.SupervisedLearning.learnPattern(SupervisedLearning.java:190) 
at org.neuroph.core.learning.SupervisedLearning.doLearningEpoch(SupervisedLearning.java:165) 
at org.neuroph.core.learning.IterativeLearning.doOneLearningIteration(IterativeLearning.java:245) 
at com.thao.Main.main(Main.java:76) 

Das Problem ist, wenn ich benutze: learningRule.learn (Triebzug); es ist in Ordnung, kein Fehler kommt heraus. Die Dokumentation so schlecht, um Funktionen zu unterscheiden, um richtige Funktion zu wählen, um das Richtige zu tun, was ich will.

+0

Mögliche Duplikate von [Was ist eine NullPointerException, und wie behebe ich es?] (Http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix -es) – Unknown

Antwort

0

Die Sache, die ich fand, ist, dass DoOneLearningIteration Funktion nicht funktionierte, weil in ihnen. Es ist nicht initiiert. Daher müssen wir 1 Epoche und dann doOneLearningIteration überschreiben oder ausführen. Das ist Arbeit für mich.