R模型部署

作者: Liam_ml | 来源:发表于2018-09-27 17:51 被阅读14次

内容概要:

1、iris数据集简介

2、R模型部署的可能方案

3、H2o.ai框架及pojo/mojo模型部署

正式内容:

iris data set 简介

Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。

image image

数据集链接:http://archive.ics.uci.edu/ml/datasets/Iris

图片来源:

https://en.wikipedia.org/wiki/Iris_flower_data_set

R 模型部署的可能方案

R语言模型部署的相关内容网络或者书籍上介绍的比较少,博主在一段时间摸索后对自己了解的可能方案进行如下归纳,仅供参考:

部署方式涉及的包及工具简介
Mojo/PojoH2OH2O可以将训练好的model转换为Plain Old Java Object (POJO) or a Model ObJect, Optimized (MOJO),从而很容易嵌入java环境中。仅需通过提供的h2o-genmodel.jar 生成相应的war包即可。
web APIpumber包Turn your R code into a web API https://www.rplumber.io,而且还可以通过PM2/ Docker等方式实现服务托管
PMMLr2pmml包R package for converting R models to PMML,然后用java调用pmml进行部署

H2o.ai框架及pojo/mojo模型部署

H2o.ai为开源的AI平台(Open Source AI Platform),提供了R、python、h2oflow等作为前端的机器学习建模平台,支持的算法有:监督学习(GLM、GBM、Deep Learning、Distributed Random Forest、Naive Bayes、Stacked Ensembles),非监督学习(GLRM、K-Means、PCA)以及Word2vec模型。

image image

H2o.ai模型的部署方式

image

训练分类模型(GBM)=>model输出为pojo格式 =>pojo转换为war包 =>jetty容器运行war包 =>api服务


使用 h2o+R 训练 GBM 分类器

library(h2o)
h2o.init()
fr <- as.h2o(iris)
my_model <- h2o.gbm(x=1:4,y=5,training_frame=fr)
h2o.download_pojo(my_model,getwd())
h2o.shutdown()

,同时生成


image.png

,在R的工作路径下可以找到。


  • 构建H2O预测服务器

a.准备工作:

Java 1.6、rJava、jetty-runner环境的安装,Linux/ Mac OSX系统

image

b.build the H2O Prediction Service Builder:

  1. 克隆steam文件git clone https://github.com/h2oai/steam

  2. 打开一个terminal窗口,进到steam/prediction-service-builder目录下

  3. Run ./gradlew build 来构建服务

  4. 出现BUILD SUCCESSFUL message之后,Run ./gradlew jettyRunWar 来运行builder service

    image
  5. 打开浏览器,输入localhost:55000,出现模型builder界面,选择 GBM_model_R_XXX.java/h2o-genmodel.jar包(上一步生成的文件),此时会生成一个war,保存(拷贝到~/steam/prediction-service-builder目录下)以便下一步使用。

image image
  • Run the Builder Service

新开一个一个terminal窗口,进到~/steam/prediction-service-builder目录下,运行:java -jar jetty-runner-9.3.9.M1.jar --port 55001 ~/GBM_model_R_1500467395689_54.war

image

浏览器输入http://localhost:55001,进入预测界面:

image

输入相关参数,点击predict,页面右侧就出现了预测结果:分属于每一个类别的概率。

image 同时,还可以点击 image

箭头按钮,弹出api网址,通过传递参数,即可得到json格式的预测结果:

image

参考文档:

https://github.com/h2oai/steam/tree/master/prediction-service-builder

相关文章

  • R模型部署

    内容概要: 1、iris数据集简介 2、R模型部署的可能方案 3、H2o.ai框架及pojo/mojo模型部署 正...

  • 自动部署开源AI模型到生产环境:Scikit-learn、XGB

    目录 背景介绍 部署准备 部署Scikit-learn模型 部署XGBoost模型 部署LightGBM模型 部署...

  • 自动部署深度神经网络模型TensorFlow(Keras)到生产

    目录 Keras简介 Keras模型分类 Keras模型部署准备 默认部署Keras模型 自定义部署Keras模型...

  • TF各类资源

    模型部署 TF Serving部署TensorFlow模型how-to-deploy-tensorflow-mod...

  • 使用开源AI-Serving部署推断PMML和ONNX模型

    目录 AI-Serving介绍 部署PMML模型 部署ONNX模型 总结 参考 AI-Serving介绍 AI-S...

  • 模型数据热更新——reload模块

    背景 当模型部署之后,后期需要对数据进行日常更新。此时,部署的服务不可以停止,因此模型数据需要热更新。 模型数据热...

  • 模型部署

    最近发现了两个比较好的工具和方法,未来会进行详细的探索和分析; H2O.AI ,H2O.ai,提供了MOJO和PO...

  • 模型部署

    一个比较完整的数据挖掘过程包括 业务理解 数据理解 数据处理 构建模型 模型评价 模型部署 本文讲最后一个步骤,模...

  • 模型部署

    1.https://zhuanlan.zhihu.com/p/103693973(深度学习模型部署的那些事儿) 2...

  • 模型部署

    添加5000端口,发现防火墙关了。加不了。查看一下防火墙状态。 尝试打开防火墙,发现unit is masked。...

网友评论

    本文标题:R模型部署

    本文链接:https://www.haomeiwen.com/subject/qzfyoftx.html