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 瞭解細節。

相關文章
相關標籤/搜索