Encog - Ошибка сохранения сетевых весов, недействительный файл EG

У меня есть обученная сеть, и я хочу сохранить ее и иметь возможность загрузить ее позже, чтобы мне не пришлось ее переобучать... ага.

Код окончания обучения:

 //Save network
 SerializeObject.save(new File("encognet"),network);
 Encog.getInstance().shutdown();

Загрузка файла

BasicNetwork network = (BasicNetwork) EncogDirectoryPersistence.loadObject(new File("encognet"));

я получаю эту ошибку

Исключение в потоке «основной» org.encog.persist.PersistError: недопустимый файл EG.

Кто-нибудь может сказать мне, как это исправить?


person jonbon    schedule 21.07.2015    source источник


Ответы (1)


Я думаю, проблема в том, что вы не сохраняете файл с расширением .eg. Если это не проблема, я не уверен насчет SerializeObject.save, но знаю, что EncogDirectoryPersistence мне подходит.

Итак, протестируйте этот код для сохранения

    public static final String FILENAME = "test_load_net.eg";
    EncogDirectoryPersistence.saveObject(new File(FILENAME), network);

А потом загрузить вот так

    public static final String FILENAME = "test_load_net.eg";

    BasicNetwork network = (BasicNetwork)EncogDirectoryPersistence.loadObject(new File(FILENAME));
person Nate Cook3    schedule 27.07.2015
comment
@Nate Cook3 - спасибо за это! Также помог мне с реализацией .NET. - person K-Dawg; 01.01.2016