2010-04-08 70 views
2

我使用ruby的ai4r gem,構建了一個神經網絡。 gem版本1.1允許我簡單地對文件執行Marshal.dump(網絡),並且我可以隨時加載網絡,只要我想要。如何使用Ruby的ai4r gem保存神經網絡文件?

幾年後的版本1.9,我再也無法做到這一點。它會在我嘗試時產生此錯誤:

no marshal_dump is defined for class Proc 

我知道錯誤的原因 - 元帥無法處理對象中的特效。很公平。

那麼有沒有內置到ai4r?我一直在搜索沒有運氣。我無法想象任何實際用途的神經網絡,你必須從頭開始重新構建,每次你想使用它。

回答

2

我剛解決這個問題。版本1.10應該可以正常工作。

但是,如果使用lambda函數自定義傳播函數,則必須在加載實例後手動恢復它。 這是因爲lambda函數無法序列化,因此實現將其重置爲默認函數。 對不起,我沒有儘早解決,但我一直在工作一些瘋狂的月份。

乾杯,

塞爾吉奧Fierens。