如何在netbeans中加载经过训练的神经网络(使用neuroph)加载?

时间:2016-04-12 13:03:45

标签: java netbeans neural-network

我正在使用神经网络对神经网络进行图像识别。为了训练数据,我一直按照此链接中的说明操作:http://neuroph.sourceforge.net/image_recognition.html  我想在netbeans中使用它,我已经使用了他们在上面这个给定链接中给出的代码。在这个过程中,我面临的问题很少;

  1. 在此链接中,只需单击“保存”即可保存经过训练的神经网络。选项,但我不能。我所能做的只是“保存所有'

  2. Wen我使用这段代码并提供了我给它的神经网络名称:

  3.   

    线程中的异常" main"   org.neuroph.core.exceptions.NeurophException:无法读取神经   网络文件!在   org.neuroph.core.NeuralNetwork.load(NeuralNetwork.java:661)at   imagerecognitionsample.ImageRecognitionSample.main(ImageRecognitionSample.java:25)   引起:java.io.FileNotFoundException:找不到文件:   TrialNetwork.nnet at   org.neuroph.core.NeuralNetwork.load(NeuralNetwork.java:653)......还有1个   Java结果:1

    请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

以下代码是在java neuroph中加载nnet文件的示例(如果你的nnet文件是从neuroph studio保存的话,这将无效)

// create MultiLayerPerceptron neural network

MultiLayerPerceptron neuralNet = new MultiLayerPerceptron(TransferFunctionType.SIGMOID,inputsCount, 22, outputsCount);

// set learning rule

MomentumBackpropagation learningRule = (MomentumBackpropagation) neuralNet.getLearningRule();
learningRule.setLearningRate(0.2);
learningRule.setMaxError(0.01);

//after playing around with this neuralNet, we can save it as:

System.out.println("Saving network");
neuralNet.save("C:\\Users\\Downloads\\MyNeuralNetAnimals.nnet");

Next time, if you want to load that neuralNet, instead of creating new network, dataset, and do all the learning stuffs again:

NeuralNetwork neuralNet = NeuralNetwork.load("C:\\Users\\Downloads\\MyNeuralNetAnimals.nnet");

MomentumBackpropagation learningRule = (MomentumBackpropagation) neuralNet.getLearningRule();

请记住,此代码只能加载上面代码保存的nnet文件。否则,如果你从neuralph工作室保存它并尝试以这种方式加载它,它将无法工作。 希望这可以提供帮助。