2019独角兽企业重金招聘Python工程师标准>>>
Spark机器学习工具链-MLflow简介
- 本文翻译自 https://github.com/openthings/mlflow
- 本文地址 https://my.oschina.net/u/2306127/blog/1825638, by openthings, 2018.06.07.
参考:
- mlflow项目由Databricks创建。
- 官方主页 https://www.mlflow.org/
- 官方文档 https://www.mlflow.org/docs/latest/index.html
- 基于Kubernetes的机器学习系统,https://my.oschina.net/u/2306127/blog/1822919
- Kubeflow-机器学习工作流框架,https://my.oschina.net/u/2306127/blog/1807785
MLflow 文档与教程
MLflow 是一个开源的平台,用于管理端到端的机器学习生命周期。主要跟踪三个主要功能:
- 跟踪试验用于记录、比较参数和结果 (MLflow Tracking)。
- 打包 ML 代码为可重用、可重复生产的形式,以与其他数据科学家分享,或者转入生产阶段 (MLflow Projects)。
- 从不同的ML库中管理和部署models,到不同的model serving 和推理平台(MLflow Models)。
MLflow是library无关的。你可以使用任何机器学习库,使用任何编程语言,因为所有的功能访问都通过 REST API 和 CLI,为了方便应用,项目包含了 Python API。
通过 Quickstart 来开始MLflow的应用,或先来了解一下关键概念( key concepts)。
- Quickstart
- Tutorial
- Concepts
- MLflow Tracking
- MLflow Projects
- MLflow Models
- Command-Line Interface
- Python API
- REST API
快速开始-MLflow Alpha版本
⚠️注意
目前的MLflow版本是alpha阶段,意味着 APIs 和存储格式都有可能随时改变!
安装
安装 MLflow,使用 PyPi 通过 pip install mlflow
,macOS请使用python3和pip3。
MLflow 要求 conda
在 PATH
中,以实现项目的特色功能。
MLflow 官方文档在 https://mlflow.org/docs/latest/index.html。
运行Sample App试验Tracking API
在 example
程序使用 MLflow Tracking API. 例如,运行:
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 [email protected]: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$ mlflow sklearn serve -r model $ curl -d '[{"x": 1}, {"x": -1}]' -H 'Content-Type: application/json' -X POST localhost:5000/invocations
贡献
欢迎任何贡献,请查看 contribution guide 了解细节。