机器学习模型部署

机器学习主要是用python来训练的模型,当前主要有以下情况:

一、单机部署方式

1、普通的模型

a)模型本身提供的部署方式:

自己封装一个restful服务,典型为采用:flask封装

b)第三方方式:PMML方式,将模型输出为 PMML格式,由第三方加载PMML模型提供输出,其中java的库很成熟,但PMML在深度学习方面上支持不足

2、深度模型

a)深度的模型,当前流行的为tensorflow,tensorflow提供serving的部署方式,具体来说就是:一个通用的model服务器框架,一个远程通用的model调用的rpc框架,python2中有对应的包,python3中需要引用

其他分布式深度学习框架也有自己的解决方案

b)第三方方式:ONNX--跨框架的模型中间表达框架,支持通用的神经网络的中间表达格式的方法,应该说是深度学习的PMML标准

 

二、分布式部署

1、简单方案:

对外采用http接口,http接口采用nginx做负载均衡即可,无需请求端做服务返现

2、复杂方案

采用服务发现,将提供服务的注册到一个地方,请求方做简单的服务发现,实现简单的rpc方法。当前docker、k8s、consul提供了不少的支撑

3、分布式运行平台

当前主要是云上的平台(重点在深度学习),开源的支撑分布式运行的平台还很少

 

三、部署自动化编排

直接将对应的model push到平台上运行,多版本管理和更新,当前除了云上有成熟的方案,其他没有看到。

 

四、参考文档

1、tensorflow serving方法
算法工程化系列––serving方法(1)
    https://zhuanlan.zhihu.com/p/90559710
算法工程化系列––serving方法(2)
    https://zhuanlan.zhihu.com/p/90564719
算法工程化系列——模型固化
    https://zhuanlan.zhihu.com/p/89510893
Tensorflow Serving部署流程
    https://zhuanlan.zhihu.com/p/42905085
    
Tensorflow Serving 生产环境部署介绍
    https://zhuanlan.zhihu.com/p/113527219
2、ONNX Model和PMML Model
Inferencing MNIST ONNX Model using AI-Serving
    https://github.com/autodeployai/ai-serving/blob/master/examples/AIServingMnistOnnxModel.ipynb
使用开源AI-Serving部署推理PMML和ONNX模型
    https://blog.csdn.net/weixin_45626901/article/details/105815440
使用PMML部署机器学习模型
    https://blog.csdn.net/weixin_45626901/article/details/100733053
ONNX--跨框架的模型中间表达框架
    https://zhuanlan.zhihu.com/p/41255090

3、其他(分布式模型训练)
基于Hadoop分布式集群YARN模式下的TensorFlowOnSpark平台搭建
    https://blog.csdn.net/u010159842/article/details/78604971
 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小她爹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值