Encog - 保存网络权重时出错,不是有效的 EG 文件

Encog - Error saving network weights, Not a valid EG file

我已经训练了一个网络,我想保存它并能够稍后加载它,这样我就不必重新训练它了......呃。

训练代码结束:

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

正在加载文件

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

我收到这个错误

Exception in thread "main" org.encog.persist.PersistError: Not a valid EG file.

谁能告诉我如何解决这个问题?

我认为问题在于您没有将文件另存为 .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));