在Java的Encog版本中,如何保存NEAT网络及其培训?我希望能够关闭我的软件,并在下次运行时停止培训。
我有一个NEATPopluation,CalculateScore和EvolutionaryAlgorithm训练对象。我可以保存哪些内容以及如何正确重新初始化?
我已经阅读了有关持久性的信息,但似乎没有一个例子适用于此类网络。
答案 0 :(得分:3)
我的理解是你使用PersistNEATPopulation实例保存了你的NEATPopulation。事实上,这就是我这样做的方式,但也许有更好知识的人可以说明我们。
我不知道如何用Java做到这一点,但在.net中我做了类似的事情:
NEATNetwork network = (NEATNetwork)train.CODEC.Decode(train.BestGenome);
trainedNetworkFile = new FileStream(path, System.IO.FileMode.Create);
pnp = new PersistNEATPopulation();
pnp.Save(trainedNetworkFile, pop); //pop is your NEATPopulation object
trainedNetworkFile.Close();