如何在Encog 3.4(Github目前正在開發的版本)中暫停遺傳算法?如何在Encog中暫停/序列化遺傳算法?
我正在使用Encog的Java版本。
我想修改農曆例子,伴隨着Encog。我想暫停/序列化遺傳算法,然後在後續階段繼續/反序列化。
當我打電話給train.pause();
它只是返回null
- 這是從代碼很明顯,因爲該方法始終返回null
。
我認爲這將是非常直接的,因爲可以有一個場景,我想訓練一個神經網絡,用它進行一些預測,然後繼續用遺傳算法訓練,因爲我在恢復之前獲得更多的數據有更多預測 - 無需從頭開始重新開始訓練。
請注意,我並非試圖序列化或持久化一個神經網絡,而是整個遺傳算法。
非常感謝你,這解釋和展示了這個概念。 但我加載遺傳算法後,我沒有得到一個好的答案,似乎我必須在調用'train.getMethod()'之前訓練遺傳算法至少一次。 並且關於你的答案的一個筆記,我認爲你在重新加載50次後訓練神經網絡50次(即100次)。 – Tmr
是的,上面的例子訓練了50次,然後保存/加載和訓練50次以上。遺傳算法使用了全部的神經網絡,調用getMethod只是從人口中返回頂部的神經網絡,所以在GA訓練之前它不會太有用。 – JeffHeaton