【问题标题】:Error NullPointer Neuroph doOneLearningIteration错误 NullPointer Neuroph doOneLearningIteration
【发布时间】:2016-07-11 11:06:30
【问题描述】:

我正在使用 Neuroph 2.9 框架对 ANN 进行编码以预测房价。我希望每次运行每个时期都得到每个错误(以在图表上显示错误的改进)但这会导致错误。

// 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);

我明白了:

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)

问题是当我使用: learningRule.learn(TrainSet);没关系,没有错误出来。文档太糟糕了,以至于不同的功能选择正确的功能来运行我想要的正确的东西。

【问题讨论】:

  • 我给你们的建议,即使是 ML 初学者,也可以使用常见的大型社区框架,如 Pytorch、Tensorflow。它更快,并且有很多很好的例子。我们可以通过他们的示例更快地学习来避免很多这样的错误。

标签: java neural-network backpropagation


【解决方案1】:

我发现 doOneLearningIteration 函数不起作用,因为在它们内部。它没有启动。因此,要运行,我们需要覆盖或运行 1 个 epoch,然后进行 doOneLearningIteration。 这对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    • 2017-01-09
    • 2017-11-11
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多