#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.