这个问题与H2O MOJO是否线程安全?非常相似,但这里是针对xgboost的。
h2o的文档生产化H2O似乎没有提到任何相关信息。在没有锁的情况下,在线程中这样做是否线程安全?
BinomialModelPrediction p = model.predictBinomial(row);
或者更一般的问题,如何查看MOJO模型这份文档让我觉得所有这些不同类型的模型的mojos本质上都是(if-else)决策树,区别仅仅在于它们的训练方式。这是真的吗?
更新4:
MOJOs是否线程安全?
是的,所有的H2O-3 MOJOs都是线程安全的。
更新3:
看起来h2o有自己的Java预测实现,并且根据xgboost-predictor的数据来看,很可能是线程安全的。
更新2:
这个讨论投下了阴影,表明xgboost在预测时可能不是线程安全的。XGBoostJavaMojoModel
更新1:
将机器学习模型转换为原生代码(Java,C,Python,Go,JavaScript),无需依赖
m2cgen让我认为对这个一般化问题的回答很可能是正确的。
回答:
是的,XGBoost MOJO和XGBoost Java预测器都是线程安全的。