java使用python模型_使用python做的机器学习模型如何在java web上部署?

有好多种方法可以,需要根据你使用的框架来区分。

1、使用Flask直接加载sklearn、tf的model文件

就是将model用flask发布web api服务,java通过http调用即可

比如这个是把sklearn发布成flask服务:https://towardsdatascience.com/a-flask-api-for-serving-scikit-learn-models-c8bcdaa41daa​towardsdatascience.com

这个把tf model发布成flask服务:https://blog.csdn.net/wangjian1204/article/details/76732337​blog.csdn.net

2、如果是tf,tf本身支持一套tf serving的机制

流程大致是:导出model,用tf serving的docker镜像加载,然后提供grpc或者http服务

然后Java调用grpc服务或者Http服务都可以

参见:https://github.com/tensorflow/serving​github.com

3、使用jpmml将sklearn、tf的服务导出

pmml是一种模型定义语言,不过貌似没有使用起来,因为只能表达简单的模型,一些几百万参数的深度学习模型,这个pmml无能为力。

但是简单的模型可以用导出成pmml,然后java直接加载pmml文件即可;

jpmml已经提供了很多框架的导出功能,参见:Java PMML API​github.com

4、最笨的方法:将模型的参数导出成JSON等格式,JAVA直接加载

比如LR模型,直接把所有参数导出成JSON等格式,JAVA加载参数列表;

当新来的预测请求时,自己做乘法,把参数和变量相乘,然后做sigmoid等等处理,得到最终预测结果。

供参考,觉得不错的可以关注公众号:蚂蚁学Python,一起学习

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值