Я так старался тренировать сеть, но я не могу этого сделать. 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
Он держит тренироваться вечно, что не так с нейрофом, или это вообще не работает?
Когда вы говорите: «Он продолжает тренироваться вечно», то есть программа, кажется, блокируется перед печатью? – NatNgs