跳转到主要内容

mlserve -- 将Python模型转换为RESTful API,并自动生成与之匹配的UI。

项目描述

mlserve

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

mlserve 将您的Python模型转换为RESTful API,并为您生成与输入数据匹配的表单以提供服务。

如果有人想展示创建的预测模型并将其快速集成到现有应用程序中,这可能很有用。此外,还提供了用于输入数据(基于训练数据框)的UI和简单的仪表板。

项目尚未完成,但已经可以使用,因此不保证API或UI的向后兼容性。

在线演示

已在线部署了几个使用heroku.com/free免费动态资源。免费应用程序在30分钟的非活动后自动休眠,因此第一个请求可能需要一些时间。

mlserve models one model

想法

mlsserve 是一个简单的应用,基于以下理念设计:

  • 简单性和易用性是首要目标。

  • 应用程序由两个进程组成:IO进程运行HTTP服务器,负责获取和发送数据以及提供UI,其他进程(工作进程)执行与预测计算相关的CPU密集型工作。

功能

  • 通过RESTful API端点提供模型预测。

  • 通过生成的UI提供模型预测。

  • 用于简化模型使用的网页。

  • 自动生成与您的输入数据匹配的UI。

  • 用于监控的简单仪表板。

安装

安装过程很简单,只需

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

示例

要部署模型,只需按照以下简单步骤操作

将您的模型保存到pickle文件

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

使用< cite>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

就是这样,模型通过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

UI通过http://127.0.0.1:9000提供

支持框架

  • Scikit-Learn

  • Keras (计划中)

  • PyTorch (计划中)

需求

变更

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

mlserve-0.0.1a6.tar.gz (653.6 kB 查看哈希值)