机器学习模型线上部署方法总结

本文总结了五种机器学习模型的线上部署方法,包括R+pmml+spark+airflow、python+sklearn+airflow、xgboost+spark+xgb4j、tensorflow+jav库以及keras+Flask。根据是否跨语言和在线预测,模型部署可分为四个类别。线上服务多数基于Java,Python由于性能原因较少用于线上,而模型转换和跨语言调用是关键挑战。文中还提到了lightgbm在预测服务中的应用和遇到的问题。
摘要由CSDN通过智能技术生成

目前存在的几种模型上线的方式

1、R+pmml+spark+airflow调度 

其他团队用R语言训练模型并转为pmml文件,然后我们使用spark将这个pmml文件封装为jar,使用airflow提交到yarn。 val is: InputStream = fs.open(path)

val pmml: PMML = PMMLUtil.unmarshal(is)

modelEvaluator = ModelEvaluatorFactory.newInstance.newModelEvaluator(pmml)

2、python+sklearn+airflow调度 

其他团队使用python训练好sklearn模型,并joblib.dumps()保存,然后我们在python文件中joblib.load()加载改文件,使用airflow离线调度。

3、xgboost+spark+xgb4j 

我们使用的是分布式的spark版的xgboost,训练好的模型直接保存为二进制文件model.booster.saveModel(hdfsOutStream),然后xgboost4j加载该文件XGBoost.loadModel(is)实现线上实时预测。

4、tensorflow+tensorflow的java库 

ft模型先转为protobuf协议的模型, 

frozen_graph = freeze_session(get_session(), output_names=["output"])

tf.train.write_graph(frozen_graph, "./", "model.pb", as_text=False)

然后使用tf的java库加载改pb模型,在线预测 try (

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值