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。

返回:

property name: str

返回配方的名称。

property profile: str

返回将执行配方及其步骤的配置文件。

run(step: str | None = None) None[源代码]

运行配方中的一个步骤,如果未指定步骤,则运行整个配方。

参数:

step – 字符串名称,用于在配方中运行一个步骤。该步骤及其依赖项将按顺序运行。如果未指定步骤,则执行整个配方。

返回: