Spark机器学习工具链-MLflow简介

Spark机器学习工具链-MLflow简介

参考:html

MLflow 文档与教程

MLflow 是一个开源的平台,用于管理端到端的机器学习生命周期。主要跟踪三个主要功能:python

  • 跟踪试验用于记录、比较参数和结果 (MLflow Tracking)。
  • 打包 ML 代码为可重用、可重复生产的形式,以与其余数据科学家分享,或者转入生产阶段 (MLflow Projects)。
  • 从不一样的ML库中管理和部署models,到不一样的model serving 和推理平台(MLflow Models)。

MLflow是library无关的。你能够使用任何机器学习库,使用任何编程语言,由于全部的功能访问都经过 REST API 和 CLI,为了方便应用,项目包含了 Python APIgit

经过 Quickstart 来开始MLflow的应用,或先来了解一下关键概念( key concepts)。github

快速开始-MLflow Alpha版本

⚠️注意编程

目前的MLflow版本是alpha阶段,意味着 APIs 和存储格式都有可能随时改变!json

安装

安装 MLflow,使用 PyPi 经过 pip install mlflow,macOS请使用python3和pip3。api

MLflow 要求 conda 在 PATH 中,以实现项目的特点功能。app

MLflow 官方文档在 https://mlflow.org/docs/latest/index.html框架

运行Sample App试验Tracking API

在 example 程序使用 MLflow Tracking API. 例如,运行:curl

python example/quickstart/test.py

该程序将使用 MLflow log API, 存储tracking数据在 ./mlruns, 而后能够使用Tracking UI来浏览。

启动 Tracking UI

MLflow Tracking UI 将显示 ./mlruns 中的运行记录,在 http://localhost:5000. 启动:

mlflow ui

运行 Project,来自 URI

命令 mlflow run 让你运行一个 project,被使用 MLproject文件封装,从本地文件或者 Git URI:

mlflow run example/tutorial -P alpha=0.4

mlflow run git@github.com:databricks/mlflow-example.git -P alpha=0.4

查看 example/tutorial ,了解sample project 中的MLproject file。

保存和服务 Models

为了演示管理的 models, 包 mlflow.sklearn 记录Scikit-learn models 做为 MLflow artifacts,而后载入用于serving。这里的示范 training application 在 example/quickstart/test_sklearn.py ,运行以下:

$ python example/quickstart/test_sklearn.py
Score: 0.666
Model saved in run <run-id>

$ mlflow sklearn serve -r <run-id> model

$ curl -d '[{"x": 1}, {"x": -1}]' -H 'Content-Type: application/json' -X POST localhost:5000/invocations

贡献

欢迎任何贡献,请查看 contribution guide 了解细节。

相关文章
相关标签/搜索