我正在使用ruby的ai4r gem,构建一个神经网络。gem的1.1版本允许我简单地对文件执行Marshal.dump(网络),并且我可以随时加载网络备份。
在几年后的1.9版本中,我不再能够做到这一点。当我尝试执行以下操作时,它会生成此错误:
no marshal_dump is defined for class Proc我知道错误的原因- Marshal不能处理对象中的proc。当然可以。
那么ai4r中有没有内置的东西呢?我一直在找,但没找到。我不能想象神经网络有什么实际用途,每次你想要使用它时,你都必须从头开始重建。
发布于 2010-04-30 04:28:19
我刚刚解决了这个问题。版本1.10应该可以正常工作。
但是,如果您使用lambda函数自定义传播函数,则必须在加载实例后手动恢复它。这是因为lambda函数不能序列化,所以实现将其重置为默认函数。很抱歉没能早点解决这个问题,但我最近几个月都在疯狂地工作。
干杯,
塞尔吉奥·菲伦斯。
https://stackoverflow.com/questions/2603305
复制相似问题