磚上運行MLflow項目
一個MLflow項目是包裝數據科學的格式代碼可重用和可再生的方式。MLflow項目組件包括一個API和命令行工具運行的項目,這也與跟蹤集成組件自動記錄的參數和git提交源代碼再現性。
本文描述了一個MLflow項目的格式以及如何運行一個MLflow項目上遠程數據磚集群使用MLflow CLI,這使得它容易垂直擴展數據科學的代碼。
MLflow磚Community Edition不支持項目執行。
MLflow項目格式
任何本地目錄或Git存儲庫都可以視為一個MLflow項目。下列約定定義一個項目:
項目的名字是目錄的名稱。
在指定的軟件環境
python_env.yaml
,如果存在。如果沒有python_env.yaml
文件存在,MLflow使用virtualenv環境隻包含Python(具體來說,最新的Python使用virtualenv)在運行項目。任何
. py
或. sh
在項目文件可以一個入口點,不帶參數顯式聲明。當你用一組參數來運行這個命令,MLflow通過每個參數在命令行上使用——關鍵<值>
語法。
通過添加一個MLproject文件指定更多的選擇,這是一個文本文件在YAML語法。一個例子MLproject文件看起來是這樣的:
的名字:我的項目python_env:python_env.yamlentry_points:主要:參數:data_file:路徑正則化:{類型:浮動,默認的:0.1}命令:“pythontrain.py- r{正規化}{data_file}”驗證:參數:data_file:路徑命令:“pythonvalidate.py{data_file}”
運行一個MLflow項目
磚集群上運行一個MLflow項目在默認的工作空間,使用命令:
mlflow運行< uri > - b磚——backend-config < json-new-cluster-spec >
在哪裏< uri >
URI是一個Git存儲庫或文件夾包含一個MLflow項目和< json-new-cluster-spec >
是一個JSON文檔,其中包含一個new_cluster結構。Git URI應該的形式:https://github.com/ <回購> # <項目文件夾>
。
一個示例集群規範:
{“spark_version”:“7.3.x-scala2.12”,“num_workers”:1,“node_type_id”:“i3.xlarge”}
如果你需要安裝庫的工人,用“集群”規範格式。注意,車輪必須上傳到DBFS和指定為pypi
依賴關係。例如:
{“new_cluster”:{“spark_version”:“7.3.x-scala2.12”,“num_workers”:1,“node_type_id”:“i3.xlarge”},“庫”:({“pypi”:{“包”:“tensorflow”}},{“pypi”:{“包”:“/ dbfs / path_to_my_lib.whl”}}]}
重要的
.egg
和. jar
MLflow項目依賴項不支持。MLflow項目執行與碼頭工人環境不受支持。
你必須使用一個新的集群規範運行時一個MLflow項目磚。不支持對現有集群運行的項目。
例子
這個例子展示了如何創建一個實驗,在磚集群上運行MLflow教程項目,查看工作運行的輸出,以及查看運行的實驗。
需求
安裝MLflow使用
皮普安裝mlflow
。安裝和配置磚CLI。磚CLI需要身份驗證機製磚集群上運行的工作。
步驟2:運行MLflow教程項目
以下步驟設置MLFLOW_TRACKING_URI
環境變量和運行項目,記錄訓練參數,指標,和訓練模型實驗指出在前麵的步驟:
設置
MLFLOW_TRACKING_URI
環境變量設置為磚工作區。出口MLFLOW_TRACKING_URI=磚
運行MLflow教程項目、培訓葡萄酒模型。取代
< experiment-id >
與實驗ID您在前麵的步驟中指出。mlflow運行https://github.com/mlflow/mlflow的例子/ sklearn_elasticnet_wine - b磚——backend-config cluster-spec。json - experiment-id < experiment-id >
= = =從https://github.com/mlflow/mlflow獲取項目的例子/ sklearn_elasticnet_wine /var/folders/kc/l20y4txd5w3_xrdhw6cnz1080000gp / T / tmpbct_5g8u = = == = =上傳項目DBFS路徑/ DBFS / mlflow-experiments / < experiment-id > / projects-code / 16 e66ccbff0a4e22278e4d73ec733e2c9a33efbd1e6f70e3c7b47b8b5f1e4fa3.tar。廣州= = == = =完成上傳項目/ dbfs mlflow-experiments / < experiment-id > / projects-code / 16 e66ccbff0a4e22278e4d73ec733e2c9a33efbd1e6f70e3c7b47b8b5f1e4fa3.tar。廣州= = == = =運行入口點主要項目https://github.com/mlflow/mlflow的例子/ sklearn_elasticnet_wine磚= = == = =推出MLflow磚工作跑ID為8651121。獲取運行狀態頁麵URL……= = == = =檢查運行的狀態在https:// < databricks-instance > #工作/ <作業id > /運行/ 1 = = =
複製網址
https:// < databricks-instance > #工作/ <作業id > /運行/ 1
在MLflow運行輸出的最後一行。
資源
對於一些例子MLflow項目,看到MLflow程序庫隨時可以運行的存儲庫,其中包含項目旨在使它容易包括毫升功能代碼。