sklearn-porter export()引发MemoryError

时间:2018-07-24 13:34:37

标签: out-of-memory sklearn-porter

我正在尝试使用RandomForestClassifiersklearn-porter模型导出到Java中,并且该模型内存不足。我如何解决这个问题? Linux进程增长到大约10 + G,然后失败-该计算机有24G可用。

培训集约有250万个元素,随着我们针对更多的课程进行分类,培训规模可能会增加。该模型具有20个功能(可能会减少)。目前,我们已经让树木越深越好。我不希望限制树的深度以使其导出到Java。

相关信息:Darius Morawiec's response中的Exporting python sklearn models to production (java/c++)

代码:

# train the forest
rfcf.fit(x_train, y_train)

# export
porter = Porter(rfcf, language='java')
output = porter.export(embed_data=True)
print(output)

顺便说一句,我在将机器内存提高到52GB之后正在重试。

更新:运行约30分钟后,它再次因MemoryError失败。

顺便说一句,我还要补充一点,在具有24G RAM的计算机上,通过sklean2pmml以相同的PMML格式成功导出了相同的模型。也可以在合理的时间(约30分钟)内对模型进行酸洗,但是这些文件很大(2-6 GB。)

0 个答案:

没有答案