MLflow:ML工作流工具
qubole-ml的Python项目详细描述
MLflow是一个简化机器学习开发的平台,包括跟踪实验、打包代码 并共享和部署模型。MLflow提供了一组轻量级api,可以 与任何现有的机器学习应用程序或库(TensorFlow、Pythorch、XGBoost等)一起使用,无论您在何处 当前运行ML代码(例如在笔记本电脑、独立应用程序或云计算中)。MLflow的当前组件包括:
- MLflow Tracking:用于记录参数、代码和 机器学习实验的结果,并使用交互式用户界面进行比较。在
- MLflow Projects:一种可复制的代码打包格式 使用Conda和Docker运行,因此您可以与其他人共享您的ML代码。在
- MLflow Models:一个模型打包格式和工具 您可以轻松地将相同的模型(从任何ML库)部署到诸如 Docker、Apache Spark、Azure ML和AWS SageMaker。在
- MLflow Model Registry:一个集中的模型存储、一组api和UI,用于协作管理MLflow模型的整个生命周期。在
文件
MLflow的官方文档可以在https://mlflow.org/docs/latest/index.html找到。在
社区
有关MLflow用法的帮助或问题(例如“how do I do X?”)?)见docs 或者Stack Overflow。在
要报告错误、提交文档问题或提交功能请求,请打开GitHub问题。在
有关发布公告和其他讨论,请订阅我们的邮件列表(mlflow-users@googlegroups.com) 或者在Slack加入我们。在
使用跟踪API运行示例应用程序
examples中的程序使用MLflow跟踪API。例如,运行:
python examples/quickstart/mlflow_tracking.py
此程序将使用MLflow Tracking API, 它将跟踪数据记录在./mlruns中。然后可以使用跟踪用户界面查看。在
启动跟踪UI
MLflow跟踪UI将显示记录在./mlruns的运行,时间为http://localhost:5000。 从以下几点开始:
^{pr2}$注意:不建议从MLflow的克隆中运行mlflow ui-这样做会 从源代码运行devui。我们建议从不同的工作目录运行UI, 通过--backend-store-uri选项指定后端存储。或者,请参见 在contributor guide中运行dev UI的说明。在
从URI运行项目
mlflow run命令允许您从本地路径运行一个打包了MLproject文件的项目 或Git URI:
mlflow run examples/sklearn_elasticnet_wine -P alpha=0.4 mlflow run https://github.com/mlflow/mlflow-example.git -P alpha=0.4
请参阅examples/sklearn_elasticnet_wine,以获取带有MLproject文件的示例项目。在
保存和服务模型
为了说明管理模型,mlflow.sklearn包可以将scikit学习模型记录为 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 '{"columns":[0],"index":[0,1],"data":[[1],[-1]]}' -H 'Content-Type: application/json' localhost:5000/invocations
贡献
我们高兴地欢迎对MLflow的贡献。请看我们的contribution guide 了解详情。在
- 项目
标签: