mlflow:一个ml工作流工具
mlflow的Python项目详细描述
mlflow是一个简化机器学习开发的平台,包括跟踪实验、包装代码 进入可重复运行、共享和部署模型。mlflow提供了一组轻量级api,可以 与任何现有的机器学习应用程序或库(TysFoSurm,Py火炬,XGBoost等)一起使用,无论你在哪里 当前运行ML代码(例如,在笔记本电脑、独立应用程序或云计算中)。mlflow的当前组件是:
- MLflow Tracking:记录参数、代码和 在机器学习实验中的结果,并使用交互式用户界面进行比较。
- MLflow Projects:可复制的代码打包格式 使用conda和docker运行,因此您可以与其他人共享您的ml代码。
- MLflow Models:一种模型打包格式和工具 您可以在诸如 docker、apache spark、azure ml和aws sagemaker。
文档
mlflow的官方文档可以在https://mlflow.org/docs/latest/index.html找到。
社区
有关使用mlflow的帮助或问题(例如“如何使用x”?”)参见docs 或者Stack Overflow。
要报告错误、提交文档问题或提交功能请求,请打开github问题。
有关发布公告和其他讨论,请订阅我们的邮件列表(mlflow-users@googlegroups.com) 或者在https://tinyurl.com/mlflow-slack加入我们。
使用跟踪API运行示例应用程序
examples中的程序使用mlflow跟踪api。例如,运行:
python examples/quickstart/mlflow_tracking.py
这个程序将使用MLflow Tracking API, 它将跟踪数据记录在./mlruns中。然后可以使用跟踪用户界面查看。
启动跟踪用户界面
mlflow跟踪ui将在http://localhost:5000显示登录到./mlruns的运行。 开始时:
mlflow ui
注意:不建议在mlflow的克隆中运行mlflow ui-这样做将 从源代码运行dev ui。我们建议从不同的工作目录运行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 详细情况。