1

AutoML 生成两个学习器,一个包含“所有”,另一个是“最好的家庭”的子集。

有什么方法可以不手动将组件和堆叠的集成聚合器保存到磁盘,以便将“最好的家庭”视为独立的黑盒,可以存储、重新加载和使用,而无需 1000 名价值较低的学习者存在于同一个空间?

如果是这样,我该怎么做?

4

1 回答 1

4

在运行 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中使用。

于 2018-02-16T17:40:49.570 回答