机器学习模型跨语言调用选择

目前机器学习模型线上部署的总结分类为

1、离线预测+不跨语言 

这种最简单,就是用什么语言训练的就用什么语言预测,而且不用考虑多并发和响应时间等问题

2、离线预测+跨语言 

用一种语言训练,另一种语言预测,但是不用考虑多并发和响应时间等问题

3、在线预测+不跨语言 

用同一种语言训练和预测,同时要考虑多并发和响应时间等问题,

像scala和java这种都是跑在jvm上的,以及tf自己实现了java库的,可以认为是同一种语言

4、在线预测+跨语言 

用不同的语言训练和预测,目前没有用到

实战:

目前在我们没有grpc,或者thrift 这种 rpc的跨语言调用方式,

所以对于机器学习模型的部署, 要么采用官方提供的jpmml来实现跨语言调用,

要么则采用将模型的预测部分代码 变成java的形式来实现

这两种方法,通过实际测试发现性能上java版预测模型的速度是官方提供的jpmml的五倍左右

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容