官方文件指出,“不建议使用pickle或cPickle来保存Keras模型。”
然而,我对pickling Keras模型的需求源于使用sklearn的RandomizedSearchCV(或任何其他超参数优化器)的超参数优化。必须将结果保存到文件中,因为这样脚本就可以在分离的会话中远程执行
基本上,我想:
trial_search = RandomizedSearchCV( estimator=keras_model, ... )
pickle.dump( trial_search, open( "trial_search.pickle", "wb" ) )
这就像一个符咒http://zachmoshe.com/2017/04/03/pickling-keras-models.html:
另外,我有一些问题,由于循环引用引起的
model.to_json()
问题,这个错误不知怎么被上面的代码所吞噬,从而导致pickle函数永远运行。到目前为止,Keras模型是可以腌制的。但我们仍然建议使用
model.save()
将模型保存到磁盘。使用“获取权重”和“设置权重”分别保存和加载模型。
看看这个链接:Unable to save DataFrame to HDF5 ("object header message is too large")
相关问题 更多 >
编程相关推荐