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模型的整个生命周期。在

Latest DocsBuild StatusLatest Python ReleaseLatest Conda ReleaseLatest CRAN ReleaseMaven CentralApache 2 LicenseTotal Downloads

安装

通过pip install mlflowPyPI安装MLflow

MLflow要求conda位于PATH上的项目功能。在

MLflow master的夜间快照也可用here。在

文件

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 了解详情。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
与ReentrantLock相比,java ReentrantReadWriteLock的性能非常差   java如何使用Maven Android Studio正确导入?   安卓将ADB添加到我的Java PC应用程序   反射Java getDeclaredConstructor失败,来自JUnit的NoSuchMethodException   JSP上siteedit标记库的java替代   JavaSpring环境概要文件和JPA   java中是否有一个类似于StringBuilder的类,唯一的区别是它具有固定的长度?   JavaMathContext。小数点32 vs MathContext。小数点64,使用哪一个,为什么?   java使用spring在Ibm Websphere MQ中实现重试逻辑   java调用SpriteBatch。开始()和结束()   java有一种从文本中读取文本的方法。文件,并将其设置为pom中的maven属性。xml专家?   java让sitemesh使用struts2   Java Swing:在现有窗口上定位对话框   使用带有MemSql的JPA本机查询的java Select json列