Как сохранить обученную нейронную сеть (распознавание чисел из изображения)

#java #neural-network

#java #нейронная сеть

Вопрос:

Я написал программу нейронной сети для обучения распознаванию цифр по изображению с использованием обратного распространения и прямой связи. Работает довольно хорошо. Я просто хотел знать, как мне сохранить эту обученную нейронную сеть, поскольку я не знаю, что сохранять. Моя цель — обучить мою нейронную сеть только один раз, потому что для обучения требуется очень много времени (1000 итераций и множество обучающих наборов), а затем я хочу сохранить ее и загрузить для последующего использования. Я надеюсь, вы понимаете мою проблему. Я не могу раскрыть все свои нейронные коды. Но вот как выглядит код выполнения

 NeuralNetwork nn = new NeuralNetwork(numberOfInputs, nuberOfHiddenNodes, numberOfOuputNodes);
pattern less than patternsList.length:
nn.train(pattern);
  

Комментарии:

1. Сохраните веса каждого входного сигнала для каждого нейрона.

Ответ №1:

 class NeuralNetwork implements Serializable { ... }
  

Цепочка ObjectOutputStream с FileOutputStream . Вызовите метод, writeObject(...) чтобы записать NeuralNetwork объект.

Комментарии:

1. да, как я мог об этом не подумать? 😀 Большое спасибо.

Ответ №2:

После того, как ваша сеть обучена, вы можете сохранить (и позже загрузить) содержимое в памяти NeuralNetwork и ее дочерних элементов, используя сериализацию Java.