AutoML 生成两个学习器,一个包含“所有”,另一个是“最好的家庭”的子集。
有什么方法可以不手动将组件和堆叠的集成聚合器保存到磁盘,以便将“最好的家庭”视为独立的黑盒,可以存储、重新加载和使用,而无需 1000 名价值较低的学习者存在于同一个空间?
如果是这样,我该怎么做?
AutoML 生成两个学习器,一个包含“所有”,另一个是“最好的家庭”的子集。
有什么方法可以不手动将组件和堆叠的集成聚合器保存到磁盘,以便将“最好的家庭”视为独立的黑盒,可以存储、重新加载和使用,而无需 1000 名价值较低的学习者存在于同一个空间?
如果是这样,我该怎么做?
在运行 AutoML 时,一切都在内存中运行(除非您将其中一个模型保存到磁盘,否则不会将任何内容保存到磁盘 - 或者应用将对象保存到磁盘的选项)。
如果您只想要“Best of Family”堆叠合奏,您所要做的就是保存该二进制模型。当您保存堆叠的整体时,它会为您保存所有必需的部分(基本模型和元模型)。然后,当您准备好进行预测时,您可以稍后重新加载以与另一个 H2O 集群一起使用(只要确保,如果您要保存二进制模型,您以后可以使用相同版本的 H2O)。
蟒蛇示例:
bestoffamily = h2o.get_model('StackedEnsemble_BestOfFamily_0_AutoML_20171121_012135')
h2o.save_model(bestoffamily, path = "/home/users/me/mymodel")
示例:
bestoffamily <- h2o.getModel('StackedEnsemble_BestOfFamily_0_AutoML_20171121_012135')
h2o.saveModel(bestoffamily, path = "/home/users/me/mymodel")
h2o.load_model()
稍后,您使用Python 或h2o.loadModel()
R将堆叠的集成重新加载到内存中。
或者,您可以使用MOJO 模型(不同的模型格式),而不是使用需要在预测时运行 H2O 集群的 H2O 二元模型。使用 MOJO 需要做更多的工作,尽管它们速度更快并且专为生产使用而设计。如果您想保存 MOJO 模型,则可以h2o.save_mojo()
在 Python 或h2o.saveMojo()
R中使用。