MLSQL如何支持部署SKLearn,Tensorflow,MLLib模型提供API预测服务

部署成API服务时,除了要把raw数据特征化成向量外,研发还要想着怎么加载模型,产生模型的框架五花八门,比如Tensorflow,SKlearn,Spark MLllib等每个框架都有自己的模型格式。在我司,有一次用Sklearn研发了一个模型,研发资源比较紧张,没办法,算法同学治好自己用Python flask搭建了一个API,然后部署成微服务(多实例来解决并发能力)。

有没有一种办法,可以一键部署多个不同类型框架训练出来的模型呢?答案是有的,目前MLSQL支持部署SKlearn,Tensorflow,Spark Mllib等三种类型框架的模型,完全无需任何开发。举个例子,通过MLSQL训练了一个SkLearn算法的模型,假设是贝叶斯,我们看看部署流程:

用local模式启动StreamingPro:

./bin/spark-submit   --class streaming.core.StreamingApp \
--master local[2] \
--name predict_service \
streamingpro-spark-2.0-1.0.0.jar    \
-streaming.name predict_service    \
-streaming.job.file.path file:///tmp/query.json \
-streaming.platform spark   \
-streaming.rest true   \
-streaming.driver.port 9003   \
-streaming.spark.service true 

这个时候该服务会监听9003端口,向http://127.0.0.1:9003/run/script 接口注册已经训练好的模型:

register SKLearn.`/tmp/model` as nb_predict;

现在这个模型就已经可以对外提供服务了。你可以通过访问http://127.0.0.1:9003/model/predict获得SkLearn 贝叶斯模型的功能了。

该接口支持两个参数:

  1. data ,等待预测的向量数组,json格式。支持dense和sparse两种格式的向量。
  2. sql, 选择什么模型进行预测。

典型参数格式如下:

data=[[1,2,3...]] & sql=select nb_predict(feature) as p

其中 feature为一个固定字段,也就是指代data里面的向量。最后接口返回结果如下:

{
    "p": {
        "type": 1,
        "values": [
            1,
            0
        ]
    }
}

最后,项目地址在这里:MLSQL 模型部署

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python小屋

Python使用系统聚类方法进行数据分类案例一则

首先解释一下为啥最近发的文章中代码都是截图而不是文本,这样做主要是希望大家能对着代码敲一遍而不是直接复制运行得到结果就算了,这样可以加深印象,学到更多东西。当然...

4214
来自专栏专知

【前沿】Pytorch开源VQA神经网络模块,让你快速完成看图问答

【导读】近期,NLP专家Harsh Trivedi使用Pytorch实现了一个视觉问答的神经模块网络,想法是参考CVPR2016年的论文《Neural Modu...

2988
来自专栏专知

【最新TensorFlow1.4.0教程01】TF1.4.0介绍与动态图机制 Eager Execution使用

【导读】主题链路知识是我们专知的核心功能之一,为用户提供AI领域系统性的知识学习服务,一站式学习人工智能的知识,包含人工智能( 机器学习、自然语言处理、计算机视...

3918
来自专栏Java进阶架构师

dubbo源码解析-详解LoadBalance

终于到了集群容错中的最后一个关键词,也就是LoadBalance(负载均衡),负载均衡必然会涉及一些算法.但是也不用太担心,算法这个词虽然高大上,但是算法也有简...

1583
来自专栏小巫技术博客

A008-drawable资源

关于drawable资源笔者之前有写过两篇文章: Android-自定义图像资源的使用(1) Android-自定义图像资源的使用(2) 这里笔者就不做过多的赘...

802
来自专栏人工智能LeadAI

毫秒级检测!你见过带GPU加速的树莓派吗?

82210
来自专栏PPV课数据科学社区

手把手教你用1行代码实现人脸识别 -- Python Face_recognition

环境要求: Ubuntu17.10 Python 2.7.14 环境搭建: 1. 安装 Ubuntu17.10 > 安装步骤在这里 2. 安装 Python2....

4318
来自专栏AI研习社

一个应用于物体识别的迁移学习工具链

迁移学习指的是,通过对预训练模型的参数进行微调,将训练好的模型应用到相似或者只有细微差异的不同任务中。通过这个方法,我们可以基于一些性能顶尖的深度学习模型得到别...

1272
来自专栏实用工具入门教程

如何部署 TensorFlow 服务器

TensorFlow是一款由Google构建的用于训练神经网络的开源机器学习软件。TensorFlow的神经网络以有状态数据流图的形式表示。图中的每个节点表示神...

5813
来自专栏木子昭的博客

教你精确调整gif图片尺寸

按照以上方法, 我们可以对任何gif的尺寸进行精确调整, 对于这类实用小技巧,可以点赞记录一下, 以后或许会用到~

1053

扫码关注云+社区

领取腾讯云代金券