砖上运行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程序库随时可以运行的存储库,其中包含项目旨在使它容易包括毫升功能代码。