跳转到主要内容

MLflow是一个开源的机器学习生命周期完整平台

项目描述

MLflow Skinny:一个轻量级的机器学习生命周期平台客户端

MLflow Skinny 是一个轻量级的 MLflow 包,不包含 SQL 存储、服务器、UI 或数据科学依赖项。MLflow Skinny 支持

  • 跟踪操作(记录/加载/搜索参数、指标、标签 + 记录/加载工件)

  • 模型注册、搜索、工件加载和部署

  • 在笔记本中执行 GitHub 项目,并针对远程目标执行。

可以安装额外的依赖项以利用 MLflow 的完整功能集。例如

  • 要使用 MLflow 模型的 mlflow.sklearn 组件,请安装 scikit-learnnumpypandas

  • 要使用基于 SQL 的元数据存储,请安装 sqlalchemyalembicsqlparse

  • 要使用基于服务的功能,请安装 flaskpandas

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,它将在./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)进行模型提供,则需要安装其他所需的依赖项(即,flask),以便MLflow服务器能够正常工作。

官方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_skinny-2.16.2.tar.gz (5.3 MB 查看散列值)

上传时间 源代码

构建分发

mlflow_skinny-2.16.2-py3-none-any.whl (5.6 MB 查看散列值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面