mlserve——通过自动生成的ui将python模型转换为restful api。

mlserve的Python项目详细描述


mlserve

https://travis-ci.com/jettify/mlserve.svg?branch=masterhttps://codecov.io/gh/jettify/mlserve/branch/master/graph/badge.svgMaintainabilityhttps://img.shields.io/pypi/v/mlserve.svg

mlserve将您的python模型转换为restful api,为web页面提供 生成与输入数据匹配的表单。

如果一个人想演示创建的预测模型和 快速集成到现有应用程序中。此外,还为 输入数据(基于培训数据框架)和简单的仪表板。

项目尚未完成,但已可用,因此对api或ui没有任何保证 向后兼容。

在线演示

几个使用heroku.com/free免费dynos在线部署的模型。 免费应用程序在30分钟不活动后自动休眠,因此首先请求 可能需要一些时间。

mlserve modelsone model

想法

mlsserve基于以下想法使用以下设计是很小的:

  • 简单易用是首要目标。
  • 应用程序由两个进程组成:运行http服务器的io进程 负责数据的获取和发送,以及为用户界面、其他 进程(工作进程)正在执行与预测相关的CPU密集型工作 计算。

功能

  • 通过restful api端点服务的模型预测。
  • 通过生成的ui提供模型预测。
  • 简化模型使用的网页。
  • 自动生成与输入数据匹配的用户界面。
  • 用于监视的简单仪表板。

安装

安装过程很简单,只要:

$ pip install git+https://github.com/jettify/mlserve.git

示例

要部署模型,只需遵循以下简单步骤:

将模型保存到pickle文件中:

with open('boston_gbr.pkl', 'wb') as f:
    pickle.dump(clf, f)

使用build_schema函数构建pandas数据帧的ui表示, 并将其保存为json文件:

import mlserve

data_schema = mlserve.build_schema(df)
with open('boston.json', 'wb') as f:
    json.dump(data_schema, f)

创建以下格式的配置文件:

models:
  - name: "boston_regressor"  # url friendly name
    description: "Boston GBR"  # optional model description
    model_path: "boston_gbr.pkl"  # path to your saved model
    data_schema_path: "boston.json"  # path to data representation
    target: "target"  # name of the target column

服务模式:

$ mlserve -c models.yaml

就是这样,模型是可用的throw rest api,您可以用curl命令进行测试:

$ curl --header "Content-Type: application/json" --request POST
--data '[{"feature1": 1, "feature2": 2}]'
http://127.0.0.1:9000/api/v1/models/boston_gradient_boosting_regressor/predict

用户界面可通过http://127.0.0.1:9000

支持的框架

  • SCIKIT学习
  • Keras(规划)
  • Pythorch(规划)

要求

更改

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JPanel不会对键绑定做出反应   当时间大于零时,不得在UI线程上调用java Await   JTextArea的java线程安全。追加   Java用户输入的字和行计数器   java以spreedsheat格式将数据保存到文件中   java构造函数的意义是什么?   java findViewById返回null,尽管组件的ID存在   java如何向按钮添加图像   java如何中断ExecutorService的线程   java如何将属性(例如枚举)绑定到不同类型的组件属性(例如每个枚举的映像)?   随机森林分类器的java实现   html使用java连接到一个站点并发布,HTTP状态代码200   从类访问属性时发生java编译错误   Java自动填充ArrayList,搜索更好的选项