跳转到主要内容

MLflow是一个开源平台,用于机器学习的整个生命周期管理

项目描述

MLflow是一个平台,用于简化机器学习开发,包括跟踪实验、将代码打包成可重复运行,以及共享和部署模型。MLflow提供了一套轻量级的API,可用于任何现有的机器学习应用程序或库(TensorFlow、PyTorch、XGBoost等),无论您目前在何处运行ML代码(例如在笔记本、独立应用程序或云中)。MLflow的当前组件包括

  • MLflow跟踪:一个API,用于记录机器学习实验中的参数、代码和结果,并使用交互式UI进行比较。

  • MLflow项目:一个用于可重复运行的代码打包格式,使用Conda和Docker,因此您可以与他人共享您的ML代码。

  • MLflow模型:一个模型打包格式和工具,让您可以轻松地将相同模型(来自任何ML库)部署到Docker、Apache Spark、Azure ML和AWS SageMaker等平台上的批处理和实时评分。

  • MLflow 模型注册表:一个集中式模型存储、一组 API 和 UI,用于协作管理 MLflow 模型的完整生命周期。

Latest Docs Apache 2 License Total Downloads Slack Account Twitter

PyPI

PyPI - mlflow PyPI - mlflow-skinny

conda-forge

Conda - mlflow Conda - mlflow-skinny

CRAN

CRAN - mlflow

Maven Central

Maven Central - mlflow-client Maven Central - mlflow-parent Maven Central - mlflow-scoring Maven Central - mlflow-spark

作业状态

Examples Action Status cross-version-tests r-devel test-requirements stale push-images slow-tests website-e2e

安装

通过 pip install mlflow 从 PyPI 安装 MLflow

MLflow 需要确保 condaPATH 中以便使用项目功能。

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 问题。

有关发布公告和其他讨论,请订阅我们的邮件列表 (mlflow-users@googlegroups.com) 或加入我们的 Slack

使用跟踪 API 运行示例应用程序

examples 中的程序使用 MLflow 跟踪 API。例如,运行

python examples/quickstart/mlflow_tracking.py

此程序将使用 MLflow 跟踪 API,该 API 在 ./mlruns 中记录跟踪数据。然后可以使用跟踪 UI 查看。

启动跟踪 UI

MLflow 跟踪 UI 将在 http://localhost:5000 显示记录在 ./mlruns 中的运行。启动它使用

mlflow ui

注意:从 MLflow 克隆内部运行 mlflow ui 不建议 - 这样做将运行源代码的 dev UI。我们建议从不同的工作目录运行 UI,并使用 --backend-store-uri 选项指定后端存储。另请参阅 贡献指南 中的运行 dev UI 的说明。

从 URI 运行项目

mlflow run 命令允许您从本地路径或 Git URI 运行带有 MLproject 文件的打包项目。

mlflow run examples/sklearn_elasticnet_wine -P alpha=0.4

mlflow run https://github.com/mlflow/mlflow-example.git -P alpha=0.4

有关具有 MLproject 文件的示例项目的示例,请参阅 examples/sklearn_elasticnet_wine

保存和提供模型

为了说明管理模型,mlflow.sklearn 包可以将 scikit-learn 模型记录为 MLflow 艺术品,然后再加载它们以供服务。在 examples/sklearn_logistic_regression/train.py 中有一个示例训练应用程序,您可以按照以下方式运行它

$ python examples/sklearn_logistic_regression/train.py
Score: 0.666
Model saved in run <run-id>

$ mlflow models serve --model-uri runs:/<run-id>/model

$ curl -d '{"dataframe_split": {"columns":[0],"index":[0,1],"data":[[1],[-1]]}}' -H 'Content-Type: application/json'  localhost:5000/invocations

注意:如果使用 MLflow 瘦身包 (pip install mlflow-skinny) 进行模型服务,则 MLflow 服务器需要安装额外的必需依赖项(即 flask)才能正常工作。

官方 MLflow Docker 镜像

官方MLflow Docker镜像可在GitHub容器注册表中找到,地址为:https://ghcr.io/mlflow/mlflow

export CR_PAT=YOUR_TOKEN
echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
# Pull the latest version
docker pull ghcr.io/mlflow/mlflow
# Pull 2.2.1
docker pull ghcr.io/mlflow/mlflow:v2.2.1

贡献

我们热烈欢迎对MLflow的贡献。我们还寻求对MLflow路线图上的项目的贡献。请参阅我们的贡献指南,了解如何为MLflow做出贡献。

核心成员

MLflow目前由以下核心成员维护,同时还有数百名极具才华的社区成员做出了重大贡献。

项目详情


发布历史 发布通知 | RSS订阅

下载文件

下载适合您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源代码分发

mlflow-2.16.2.tar.gz (26.1 MB 查看哈希值)

上传时间 源代码

编译版本

mlflow-2.16.2-py3-none-any.whl (26.7 MB 查看哈希值)

上传时间 Python 3

由以下提供支持