mlflow.recipes
MLflow Recipes 是一个框架,使您能够快速开发高质量的模型并将其部署到生产环境中。与临时性的 ML 工作流程相比,MLflow Recipes 提供了几个主要优势:
配方模板:预定义模板 用于常见的机器学习任务,例如 回归建模,使您能够快速上手并专注于构建优秀的模型,消除了传统上需要大量样板代码来整理数据集、工程特征、训练和调整模型以及打包模型以进行生产部署的工作。
配方引擎:智能配方执行引擎通过缓存过程中的每一步结果,并在更改时重新运行最小步骤集,从而加速模型开发。
生产就绪结构:模块化、与 git 集成的 配方结构 通过确保所有模型代码、数据和配置易于 ML 工程师审查和部署,极大地简化了从开发到生产的交接过程。
更多信息,请参阅 MLflow Recipes 概述。
- class mlflow.recipes.Recipe[源代码]
一个工厂类,根据当前工作目录和提供的配置,创建特定机器学习问题(例如回归、分类)或 MLOps 任务(例如批量评分)的配方实例。
import os from mlflow.recipes import Recipe os.chdir("~/recipes-regression-template") regression_recipe = Recipe(profile="local") regression_recipe.run(step="train")
- static __new__(cls, profile: str)[源代码]
基于当前工作目录和提供的配置,为特定的机器学习问题或MLOps任务创建一个MLflow Recipe实例。当前工作目录必须是MLflow Recipe仓库的根目录或其子目录。
- 参数:
profile – 用于配置特定问题或任务的配方的配置文件名称。配置文件自定义一个或多个配方步骤的配置,使用不同配置文件的配方执行通常会产生不同的结果。
- 返回:
一个特定机器学习问题或MLOps任务的配方。例如,回归问题的 RegressionRecipe 实例。
import os from mlflow.recipes import Recipe os.chdir("~/recipes-regression-template") regression_recipe = Recipe(profile="local") regression_recipe.run(step="train")
- class mlflow.recipes.recipe.BaseRecipe[源代码]
基础配方
- clean(step: str | None = None) None [源代码]
从缓存中移除指定步骤的输出,如果没有指定特定步骤,则移除所有步骤的缓存输出。在特定步骤的缓存输出被清理后,下次通过
BaseRecipe.run()
调用该步骤时,该步骤将完全重新执行。- 参数:
step – 配方中要清理的步骤的字符串名称。如果未指定,则删除所有配方步骤的缓存输出。
- get_artifact(artifact_name: str)[源代码]
从配方输出中读取一个工件。工件名称可以从 Recipe.inspect() 或 Recipe.run() 输出中获得。
如果未找到指定的工件,则返回 None。如果工件不受支持,则引发错误。
- inspect(step: str | None = None) None [源代码]
显示步骤的主要输出,如果没有指定步骤,则显示配方DAG。
- 参数:
step – 字符串名称用于在配方中显示步骤输出。如果未指定步骤,则显示配方的DAG。
- 返回:
无
- run(step: str | None = None) None [源代码]
运行配方中的一个步骤,如果未指定步骤,则运行整个配方。
- 参数:
step – 字符串名称,用于在配方中运行一个步骤。该步骤及其依赖项将按顺序运行。如果未指定步骤,则执行整个配方。
- 返回:
无