MLflow 是一個簡化機器學習開發的平台,包括追蹤實驗、將程式碼打包成可重複的運行以及共享和部署模型。 MLflow 提供了一組輕量級API,可與任何現有的機器學習應用程式或函式庫(TensorFlow、PyTorch、XGBoost 等)一起使用,無論您目前在何處執行ML 程式碼(例如在筆記本、獨立應用程式或雲中)。 MLflow的目前元件是:
MLflow Tracking:用於記錄機器學習實驗中的參數、程式碼和結果並使用互動式 UI 進行比較的 API。
MLflow 專案:一種使用 Conda 和 Docker 進行可重複運行的程式碼打包格式,因此您可以與其他人共用您的 ML 程式碼。
MLflow 模型:一種模型打包格式和工具,可讓您輕鬆部署相同的模型(來自任何 ML 程式庫),以在 Docker、Apache Spark、Azure ML 和 AWS SageMaker 等平台上進行批次和即時評分。
MLflow 模型登錄:集中式模型儲存、API 集和 UI,用於協作管理 MLflow 模型的整個生命週期。
套餐
皮伊 | |
康達鍛造公司 | |
克蘭 | |
梅文中心 |
工作狀態
透過pip install mlflow
從 PyPI 安裝 MLflow
MLflow 要求conda
位於專案功能的PATH
中。
MLflow master 的夜間快照也可在此處取得。
透過pip install mlflow-skinny
從 PyPI 安裝 MLflow 的較低依賴項子集 可以根據所需場景添加額外的依賴項。例如, pip install mlflow-skinny pandas numpy
允許 mlflow.pyfunc.log_model 支援。
MLflow 的官方文件可以在 https://mlflow.org/docs/latest/index.html 找到。
目前的 MLflow 路線圖可在 https://github.com/mlflow/mlflow/milestone/3 上取得。我們正在尋求對帶有help wanted
標籤的所有路線圖項目的貢獻。請參閱貢獻部分以獲取更多資訊。
有關 MLflow 使用的說明或問題(例如「我該如何做 X?」),請參閱文件或 Stack Overflow。
若要回報錯誤、提交文件問題或提交功能請求,請開啟 GitHub 問題。
有關發佈公告和其他討論,請訂閱我們的郵件清單 ([email protected]) 或加入我們的 Slack。
examples
中的程式使用 MLflow Tracking API。例如,運行:
python 範例/快速入門/mlflow_tracking.py
程式將使用 MLflow Tracking API,該 API 將追蹤資料記錄在./mlruns
中。然後可以使用追蹤 UI 進行查看。
MLflow Tracking UI 將顯示在 http://localhost:5000 處的./mlruns
中記錄的運行。開始:
流量使用者介面
注意:不建議從 MLflow 克隆中運行mlflow ui
- 這樣做將從原始程式碼運行開發 UI。我們建議從不同的工作目錄運行 UI,透過--backend-store-uri
選項指定後端儲存。或者,請參閱貢獻者指南中有關執行開發 UI 的說明。
mlflow run
指令可讓您從本機路徑或 Git URI 執行使用 MLproject 檔案打包的專案:
mlflow 運行範例/sklearn_elasticnet_wine -P alpha=0.4 mlflow 執行 https://github.com/mlflow/mlflow-example.git -P alpha=0.4
請參閱examples/sklearn_elasticnet_wine
以了解帶有 MLproject 檔案的範例專案。
為了說明管理模型, mlflow.sklearn
套件可以將 scikit-learn 模型記錄為 MLflow 工件,然後再次載入它們以進行服務。 examples/sklearn_logistic_regression/train.py
中有一個範例訓練應用程序,您可以如下執行:
$ python 範例/sklearn_logistic_regression/train.py 得分:0.666 模型保存在運行 <run-id> 中 $ mlflow 模型服務 --model-uri 運行:/<run-id>/model $curl -d '{"dataframe_split": {"columns":[0],"index":[0,1],"data":[[1],[-1]]}}' -H '內容-類型:應用程式/json'本機主機:5000/調用
注意:如果使用 MLflow Skinny ( pip install mlflow-skinny
) 進行模型服務,則需要安裝額外的必要依賴項(即flask
)才能使 MLflow 伺服器正常運作。
官方 MLflow Docker 映像檔可在 GitHub 容器註冊表 (https://ghcr.io/mlflow/mlflow) 找到。
導出 CR_PAT=YOUR_TOKENecho $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin# 拉取最新版本docker pull ghcr.io/mlflow/mlflow# 拉取2.2.1docker pull ghcr.io/mlflow/mlflow:v2.2.1
我們非常高興地歡迎對 MLflow 的貢獻。我們也正在尋求對 MLflow 路線圖上的專案的貢獻。請參閱我們的貢獻指南,以了解有關為 MLflow 做出貢獻的更多資訊。
MLflow 目前由以下核心成員維護,數百名才華橫溢的社群成員做出了重大貢獻。
本·威爾遜
科里·祖瑪爾
樂丹尼爾
傅嘉偉
河村晴隆
阮詩琳娜
徐偉辰
渡邊由紀
平田藤