MLflow是一个开源的机器学习生命周期完整平台
项目描述
MLflow Skinny:一个轻量级的机器学习生命周期平台客户端
MLflow Skinny 是一个轻量级的 MLflow 包,不包含 SQL 存储、服务器、UI 或数据科学依赖项。MLflow Skinny 支持
跟踪操作(记录/加载/搜索参数、指标、标签 + 记录/加载工件)
模型注册、搜索、工件加载和部署
在笔记本中执行 GitHub 项目,并针对远程目标执行。
可以安装额外的依赖项以利用 MLflow 的完整功能集。例如
要使用 MLflow 模型的 mlflow.sklearn 组件,请安装 scikit-learn、numpy 和 pandas。
要使用基于 SQL 的元数据存储,请安装 sqlalchemy、alembic 和 sqlparse。
要使用基于服务的功能,请安装 flask 和 pandas。
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 模型的整个生命周期。
包
PyPI |
|
conda-forge |
|
CRAN |
|
Maven Central |
作业状态
安装中
通过 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问题。
有关发布公告和其他讨论,请订阅我们的邮件列表(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目前由以下核心成员维护,还有数百名极具才华的社区成员做出了重大贡献。
项目详情
mlflow_skinny-2.16.2.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | c4064506ee8b590dea5dc3a139a890d50996d8ab511fbd34b0266bf69ebaa9d8 |
|
MD5 | 42cdfb72aa8c42a0435221086baf5de5 |
|
BLAKE2b-256 | 5bf14eedb6e55baa611724da356959ebbed9f1c4e41cc07d4cc0b9dca18cf10b |
mlflow_skinny-2.16.2-py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | c6faf8bddcba3d2bbde45c954c89575b93c4bef1d5e7e026d98fd9966015038c |
|
MD5 | 89983584eeff0f9c2f57b3e988392272 |
|
BLAKE2b-256 | 46ba2300ec30b6425507fface15601a6e20320ace45586d9a66339ac19644381 |