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 目前由以下核心成员维护,数百名才华横溢的社区成员做出了重大贡献。
本·威尔逊
科里·祖玛尔
乐丹尼尔
傅嘉伟
河村晴隆
阮诗琳娜
徐伟辰
渡边由纪
平田藤