2016-08-04 3 views
0

Я так старался тренировать сеть, но я не могу этого сделать. Neuroph Studio не помогает вообще, он всегда возвращает null при обучении. Тогда я попробовал этот код в приложение Java:Neuroph не может тренироваться.

// create new perceptron network 
NeuralNetwork neuralNetwork = new Perceptron(2, 1); 

// create training set 
DataSet trainingSet = new DataSet(2, 1); 

// add training data to training set (logical OR function) 
trainingSet.addRow(new DataSetRow(new double[]{0, 0}, new double[]{0.5d})); 
trainingSet.addRow(new DataSetRow(new double[]{0, 1}, new double[]{1})); 
trainingSet.addRow(new DataSetRow(new double[]{1, 0}, new double[]{1})); 
trainingSet.addRow(new DataSetRow(new double[]{1, 1}, new double[]{1})); 

// learn the training set 
neuralNetwork.learn(trainingSet); 

// save the trained network into file 
neuralNetwork.save("or_perceptron.nnet"); 

// load the saved network 
neuralNetwork = NeuralNetwork.createFromFile("or_perceptron.nnet"); 

// set network input 
neuralNetwork.setInput(1, 1); 

// calculate network 
neuralNetwork.calculate(); 

// get network output 
double[] networkOutput = neuralNetwork.getOutput(); 
for (double res : networkOutput) { 
    System.out.println(res); 
} 

Это работает, но я хочу, чтобы тренировать что-то вроде этого:

Вход: 0.3, 0.5
Выход: 0.2

Он держит тренироваться вечно, что не так с нейрофом, или это вообще не работает?

+0

Когда вы говорите: «Он продолжает тренироваться вечно», то есть программа, кажется, блокируется перед печатью? – NatNgs

ответ

0

В конце концов, единственное, что работало, это загрузить набор тренировок из внешних файлов. Возможно, есть еще одно решение, но это единственное, что сработало для меня в конце.

Смежные вопросы