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

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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 了解细节。

转载于:https://my.oschina.net/u/2306127/blog/1825638

你可能感兴趣的:(Spark机器学习工具链-MLflow简介)