mlserve——通过自动生成的ui将python模型转换为restful api。
mlserve的Python项目详细描述
mlserve
mlserve将您的python模型转换为restful api,为web页面提供 生成与输入数据匹配的表单。
如果一个人想演示创建的预测模型和 快速集成到现有应用程序中。此外,还为 输入数据(基于培训数据框架)和简单的仪表板。
项目尚未完成,但已可用,因此对api或ui没有任何保证 向后兼容。
在线演示
几个使用heroku.com/free免费dynos在线部署的模型。 免费应用程序在30分钟不活动后自动休眠,因此首先请求 可能需要一些时间。
想法
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