命令行界面

MLflow 的命令行界面 (CLI) 提供了对 MLflow 各种功能的简单接口。您可以使用 CLI 运行项目、启动跟踪 UI、创建和列出实验、下载运行工件、提供 MLflow Python Function 和 scikit-learn 模型、提供 MLflow Python Function 和 scikit-learn 模型,并在 Microsoft Azure Machine LearningAmazon SageMaker 上部署模型。

每个单独的命令都有一个可通过 mlflow command_name --help 访问的详细帮助界面。

注意

建议默认设置 MLFLOW_TRACKING_URI 环境变量,因为 CLI 不会自动连接到跟踪服务器。没有此设置时,CLI 将默认使用执行命令时的本地文件系统,而不是连接到本地主机或远程 HTTP 服务器。将 MLFLOW_TRACKING_URI 设置为所需跟踪服务器的 URL 对于下面的大多数命令是必需的。

mlflow

mlflow [OPTIONS] COMMAND [ARGS]...

选项

--version

显示版本并退出。

artifacts

上传、列出和下载来自 MLflow 工件存储库的工件。

要管理与跟踪服务器关联的运行的工件,请将 MLFLOW_TRACKING_URI 环境变量设置为所需服务器的 URL。

mlflow artifacts [OPTIONS] COMMAND [ARGS]...

下载

将一个工件文件或目录下载到本地目录。输出为本地文件系统上该文件或目录的名称。

必须提供 --artifact-uri--run-id

mlflow artifacts download [OPTIONS]

选项

-r, --run-id <run_id>

要从其下载的 Run ID

-a, --artifact-path <artifact_path>

用于 Run ID:如果指定,表示要下载的相对于运行根目录的路径

-u, --artifact-uri <artifact_uri>

指向工件文件或工件目录的 URI;可作为指定 –run_id 和 –artifact-path 的替代项

-d, --dst-path <dst_path>

本地文件系统目标目录的路径,用于下载指定的 artifacts(工件)。如果该目录不存在,则会创建它。如果未指定,则这些 artifacts 会下载到本地文件系统上一个新建的唯一命名目录中,除非这些 artifacts 已经存在于本地文件系统上,在这种情况下将直接返回它们的本地路径。

列表

返回位于 run 的根 artifact 目录或子目录中的所有 artifacts。输出为 JSON 格式的列表。

mlflow artifacts list [OPTIONS]

选项

-r, --run-id <run_id>

必需 要列出的 Run ID

-a, --artifact-path <artifact_path>

如果指定,则为要列出的相对于运行根目录的路径。

log-artifact

将本地文件记录为一次运行的 artifact(产物),可选择放在运行特定的产物路径下。运行的产物可以组织到目录中,因此您可以通过这种方式将该产物放入某个目录。

mlflow artifacts log-artifact [OPTIONS]

选项

-l, --local-file <local_file>

必需 要记录的 artifact 的本地路径

-r, --run-id <run_id>

必需的 Run ID,我们应将 artifact 记录到该 Run ID 中。

-a, --artifact-path <artifact_path>

如果指定,我们将把工件记录到运行的工件目录的此子目录中。

log-artifacts

将本地目录中的文件作为某次运行的工件记录,可选择放在该运行的特定工件路径中。运行的工件可以按目录组织,因此你可以通过这种方式将工件放入目录中。

mlflow artifacts log-artifacts [OPTIONS]

选项

-l, --local-dir <local_dir>

必需的 要记录的本地工件目录

-r, --run-id <run_id>

必填 我们应该将工件记录到的 Run ID。

-a, --artifact-path <artifact_path>

如果指定了,我们将把该工件记录到此运行的工件目录的子目录中。

db

用于管理 MLflow 跟踪数据库的命令。

mlflow db [OPTIONS] COMMAND [ARGS]...

升级

将 MLflow 跟踪数据库的模式升级到最新受支持的版本。

重要:模式迁移可能会很慢,且不保证为事务性的——在运行迁移之前务必先备份数据库。migrations README 位于 https://github.com/mlflow/mlflow/blob/master/mlflow/store/db_migrations/README.md,其中描述了大型迁移,并包含有关如何估算其性能以及如何从故障中恢复的信息。

mlflow db upgrade [OPTIONS] URL

参数

URL

必需的参数

deployments

将 MLflow 模型部署到自定义目标。 运行 mlflow deployments help –target-name 以获取有关给定目标支持的 URI 格式和配置选项的更多详细信息。 当前已为以下部署目标安装支持:databricks、http、https、openai、sagemaker

https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明

您还可以为部署到自定义目标编写自己的插件。有关编写和分发插件的说明,请参见 https://mlflow.org/docs/latest/plugins.html#writing-your-own-mlflow-plugins.

mlflow deployments [OPTIONS] COMMAND [ARGS]...

创建

将位于 model_uri 的模型部署到指定目标。

还可以通过 -C key=value 将其他插件特定参数传递给此命令

mlflow deployments create [OPTIONS]

选项

--endpoint <endpoint>

端点名称

-C, --config <NAME=VALUE>

用于模型部署的额外特定于目标的配置,格式为 -C name=value。请参阅您的部署目标的文档/帮助,以查看受支持的配置选项列表。

--name <name>

必填 部署的名称

-t, --target <target>

必需 部署目标 URI。运行 mlflow deployments help –target-name 以获取有关所支持的 URI 格式和给定目标的配置选项的更多详细信息。 当前已安装用于部署到:databricks、http、https、openai、sagemaker

请在 https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明

-m, --model-uri <URI>

必需 模型的 URI。可以是本地路径、'runs:/' URI,或远程存储 URI(例如,'s3://' URI)。有关模型工件支持的远程 URI 的更多信息,请参见 https://mlflow.org/docs/latest/tracking.html#artifact-stores

-f, --flavor <flavor>

要部署哪个 flavor。如果未提供,将自动推断。

create-endpoint

在指定的目标处使用指定的名称创建一个端点。

还可以通过 -C key=value 向此命令传递其他插件特定的参数。

mlflow deployments create-endpoint [OPTIONS]

选项

-C, --config <NAME=VALUE>

针对端点的额外特定目标配置,格式为 -C name=value。有关受支持的配置选项列表,请参阅您部署目标的文档/帮助。

--endpoint <endpoint>

必需 端点名称

-t, --target <target>

必需的 部署目标 URI。运行 mlflow deployments help –target-name 获取有关所支持的 URI 格式和给定目标的配置选项的更多详细信息。 当前已安装对以下部署目标的支持:databricks, http, https, openai, sagemaker

请在 https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明。

删除

删除指定目标中由–name给定名称的部署。

mlflow deployments delete [OPTIONS]

选项

--endpoint <endpoint>

端点的名称

-C, --config <NAME=VALUE>

用于模型部署的额外目标特定配置,形式为 -C name=value。有关受支持的配置选项列表,请参阅针对您的部署目标的文档/帮助。

--name <name>

必填 部署的名称

-t, --target <target>

必需 部署目标 URI。运行 mlflow deployments help –target-name 以获取有关给定目标所支持的 URI 格式和配置选项的更多详细信息。 当前已安装对以下部署目标的支持:databricks, http, https, openai, sagemaker

请在 https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明

delete-endpoint

删除在指定目标处的指定端点

mlflow deployments delete-endpoint [OPTIONS]

选项

--endpoint <endpoint>

必填 端点名称

-t, --target <target>

必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关所支持的 URI 格式和给定目标的配置选项的更多详细信息。 当前已安装用于部署到:databricks、http、https、openai、sagemaker

请在 https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明

解释

生成针对已部署模型在指定输入上的模型预测解释。解释输出格式因部署目标而异,可能包含用于理解/调试预测的特征重要性等详细信息。运行 mlflow deployments help 或查阅插件文档以获取有关解释格式的详细信息。有关此函数可接受的输入数据格式的信息,请参阅以下文档: https://www.mlflow.org/docs/latest/models.html#built-in-deployment-tools

mlflow deployments explain [OPTIONS]

选项

--name <name>

部署的名称。–name 或 –endpoint 两者中必须恰好指定一个。

--endpoint <endpoint>

endpoint 的名称。必须且仅能指定 –name 或 –endpoint 其中之一。

-t, --target <target>

必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关所支持的 URI 格式和给定目标的配置选项的更多详细信息。 当前已安装用于部署到:databricks、http、https、openai、sagemaker

请在 https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明。

-I, --input-path <input_path>

必需 输入预测有效载荷文件的路径。该文件可以是 JSON (Python Dict) 或 CSV (pandas DataFrame)。如果文件为 CSV,则用户必须指定 –content-type csv 选项。

-O, --output-path <output_path>

输出结果到 JSON 文件。如果未提供,则将输出打印到 stdout。

获取

打印指定目标中由 --name 提供名称的部署的详细描述。

mlflow deployments get [OPTIONS]

选项

--endpoint <endpoint>

端点名称

--name <name>

必填 部署的名称

-t, --target <target>

必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关所支持的 URI 格式和给定目标的配置选项的更多详细信息。 当前已安装用于部署到:databricks、http、https、openai、sagemaker

请在 https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明。

get-endpoint

获取指定目标上指定端点的详细信息

mlflow deployments get-endpoint [OPTIONS]

选项

--endpoint <endpoint>

必填 端点名称

-t, --target <target>

必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标所支持的 URI 格式和配置选项的更多详细信息。 当前已安装对以下部署目标的支持:databricks, http, https, openai, sagemaker

请在 https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明。

帮助

显示特定部署目标的附加帮助,例如有关目标特定配置选项和目标的 URI 格式的信息。

mlflow deployments help [OPTIONS]

选项

-t, --target <target>

必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标所支持的 URI 格式和配置选项的更多详细信息。 当前已安装对以下部署目标的支持:databricks, http, https, openai, sagemaker

请在 https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明。

列表

列出指定目标中所有模型部署的名称。这些名称可以与 deleteupdateget 命令一起使用。

mlflow deployments list [OPTIONS]

选项

--endpoint <endpoint>

端点的名称

-t, --target <target>

必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标所支持的 URI 格式和配置选项的更多详细信息。 当前已安装对以下部署目标的支持:databricks, http, https, openai, sagemaker

请在 https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明。

list-endpoints

列出指定目标的所有端点

mlflow deployments list-endpoints [OPTIONS]

选项

-t, --target <target>

必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标所支持的 URI 格式和配置选项的更多详细信息。 当前已安装对以下部署目标的支持:databricks, http, https, openai, sagemaker

请在 https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明。

predict

为给定的输入预测已部署模型的结果

mlflow deployments predict [OPTIONS]

选项

--name <name>

部署的名称。–name 或 –endpoint 两者中必须恰好指定一个。

--endpoint <endpoint>

端点的名称。必须且只能指定其中一个:–name 或 –endpoint。

-t, --target <target>

必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标所支持的 URI 格式和配置选项的更多详细信息。 当前已安装对以下部署目标的支持:databricks, http, https, openai, sagemaker

请在 https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明。

-I, --input-path <input_path>

必需 输入预测有效负载文件的路径。该文件可以是 JSON (Python Dict) 或 CSV (pandas DataFrame)。如果文件为 CSV,用户必须指定 –content-type csv 选项。

-O, --output-path <output_path>

输出结果到 JSON 文件。如果未提供,则将输出打印到 stdout。

run-local

在本地部署模型。它的签名与 create API 非常相似

mlflow deployments run-local [OPTIONS]

选项

-C, --config <NAME=VALUE>

用于模型部署的额外目标特定配置,形式为 -C name=value。有关受支持的配置选项列表,请参阅针对您的部署目标的文档/帮助。

--name <name>

必填 部署的名称

-t, --target <target>

必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标所支持的 URI 格式和配置选项的更多详细信息。 当前已安装对以下部署目标的支持:databricks, http, https, openai, sagemaker

请在 https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明。

-m, --model-uri <URI>

必需 模型的 URI。可以是本地路径、'runs:/' URI,或远程存储 URI(例如,'s3://' URI)。有关模型工件支持的远程 URI 的更多信息,请参见 https://mlflow.org/docs/latest/tracking.html#artifact-stores

-f, --flavor <flavor>

要部署哪个 flavor。如果未提供,将自动推断。

更新

更新指定目标中 ID 为 deployment_id 的部署。您可以更新模型的 URI 和/或已部署模型的 flavor(在这种情况下必须同时指定 model URI)。

还可以通过 -C key=value 向此命令传递其他插件特定的参数。

mlflow deployments update [OPTIONS]

选项

--endpoint <endpoint>

端点的名称

-C, --config <NAME=VALUE>

用于模型部署的额外目标特定配置,形式为 -C name=value。有关受支持的配置选项列表,请参阅针对您的部署目标的文档/帮助。

--name <name>

必填 部署的名称

-t, --target <target>

必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标所支持的 URI 格式和配置选项的更多详细信息。 当前已安装对以下部署目标的支持:databricks, http, https, openai, sagemaker

请在 https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明。

-m, --model-uri <URI>

模型的 URI。可以是本地路径、‘runs:/’ URI,或远程存储 URI(例如,‘s3://’ URI)。有关模型工件支持的远程 URI 的更多信息,请参阅 https://mlflow.org/docs/latest/tracking.html#artifact-stores

-f, --flavor <flavor>

要部署哪个 flavor。如果未提供,将自动推断。

update-endpoint

在指定目标处更新指定的端点。

还可以通过 -C key=value 向此命令传递其他插件特定的参数。

mlflow deployments update-endpoint [OPTIONS]

选项

-C, --config <NAME=VALUE>

针对端点的额外特定目标配置,格式为 -C name=value。有关受支持的配置选项列表,请参阅您部署目标的文档/帮助。

--endpoint <endpoint>

必填 端点名称

-t, --target <target>

必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标所支持的 URI 格式和配置选项的更多详细信息。 当前已安装对以下部署目标的支持:databricks, http, https, openai, sagemaker

请在 https://mlflow.org/docs/latest/plugins.html#community-plugins 查看所有受支持的部署目标和安装说明。

doctor

打印出用于调试 MLflow 问题的有用信息。

mlflow doctor [OPTIONS]

选项

--mask-envs

如果设置此标志(默认情况下不设置该标志时不会对信息进行混淆),则在输出中掩盖 MLflow 环境变量的值(例如 “MLFLOW_ENV_VAR”: “***”),以防泄露敏感信息。

experiments

管理实验。要管理与跟踪服务器关联的实验,请将环境变量 MLFLOW_TRACKING_URI 设置为所需服务器的 URL。

mlflow experiments [OPTIONS] COMMAND [ARGS]...

创建

创建一个实验。

所有由与该实验相关的运行生成的工件将存储在 artifact location 下,并在特定的 run_id 子目录中进行组织。

实验和元数据存储的实现取决于后端存储。 FileStore 为每个实验 ID 创建一个文件夹,并将元数据存储在 meta.yaml 中。运行以子文件夹的形式存储。

mlflow experiments create [OPTIONS]

选项

-n, --experiment-name <experiment_name>

必填

-l, --artifact-location <artifact_location>

用于运行存储 artifact 结果的基本位置。Artifacts 将被存储在 $artifact_location/$run_id/artifacts。有关 artifact 位置属性的更多信息,请参阅 https://mlflow.org/docs/latest/tracking.html#where-runs-are-recorded。如果未提供位置,跟踪服务器将选择默认值。

csv

为某个实验生成包含所有运行的 CSV 文件

mlflow experiments csv [OPTIONS]

选项

-x, --experiment-id <experiment_id>

必填

-o, --filename <filename>

删除

将一个活动的实验标记为待删除。这也适用于实验的元数据、运行及关联数据,以及如果工件存储在默认位置时的工件。使用 list 命令查看工件位置。如果未找到实验或实验已被标记为待删除,命令将抛出错误。

被标记为删除的实验可以使用 restore 命令恢复,除非它们已被永久删除。

删除的具体实现取决于后端存储。 FileStore 会将被标记为删除的实验移动到用于实例化 FileStore 的主文件夹下的 .trash 文件夹中。被标记为删除的实验可以通过清空 .trash 文件夹来永久删除。建议使用 cron 任务或其他替代的工作流机制来清空 .trash 文件夹。

mlflow experiments delete [OPTIONS]

选项

-x, --experiment-id <experiment_id>

必填

重命名

重命名一个活动的实验。如果该实验处于非活动状态,则返回错误。

mlflow experiments rename [OPTIONS]

选项

-x, --experiment-id <experiment_id>

必填

--new-name <new_name>

必填

恢复

恢复已删除的实验。此操作同样适用于实验的元数据、运行以及相关数据。如果实验已处于活动状态、无法找到或已被永久删除,该命令会抛出错误。

mlflow experiments restore [OPTIONS]

选项

-x, --experiment-id <experiment_id>

必填

gateway

管理 MLflow Gateway 服务

mlflow gateway [OPTIONS] COMMAND [ARGS]...

开始

启动 MLflow Gateway 服务

mlflow gateway start [OPTIONS]

选项

--config-path <config_path>

必需 网关配置文件的路径。

--host <host>

要监听的网络地址(默认:127.0.0.1)。

--port <port>

监听的端口(默认:5000)。

--workers <workers>

工作者数量。

Environment variables

MLFLOW_GATEWAY_CONFIG

--config-path 提供默认值

gc

从指定的后端存储中永久删除处于deleted生命周期阶段的运行。此命令会删除与指定运行关联的所有工件和元数据。如果提供的 artifact URL 无效,工件删除将被跳过,gc 过程将继续。

注意

如果您正在运行启用工件代理的 MLflow 跟踪服务器,您 必须 在运行此命令之前设置 MLFLOW_TRACKING_URI 环境变量。否则,gc 命令将无法解析工件 URI,也无法删除关联的工件。

mlflow gc [OPTIONS]

选项

--older-than <older_than>

可选。删除早于指定时间限制的运行。以 #d#h#m#s 格式指定字符串。也支持浮点值。例如:–older-than 1d2h3m4s,–older-than 1.2d3h4m5s

--backend-store-uri <PATH>

要从中删除运行的后端存储的 URI。可接受的 URI 为与 SQLAlchemy 兼容的数据库连接字符串(例如 ‘sqlite:///path/to/file.db’)或本地文件系统 URI(例如 ‘file:///absolute/path/to/directory’)。默认情况下,数据将从 ./mlruns 目录中删除。

--artifacts-destination <URI>

用于解析 artifact 上传/下载/列出 请求的基础 artifact 存储位置(例如 ‘s3://my-bucket’)。此选项仅在跟踪服务器配置为流式传输 artifacts 且实验的 artifact 根位置为 http 或 mlflow-artifacts URI 时适用。否则,将使用默认的 artifact 存储位置。

--run-ids <run_ids>

可选的以逗号分隔的要永久删除的运行列表。如果未指定 run ids,数据将从处于 deleted 生命周期阶段的所有运行中移除。

--experiment-ids <experiment_ids>

可选的以逗号分隔的实验列表,将被永久删除,包括它们所有关联的运行。如果未指定实验 ID,则会移除处于 deleted 生命周期阶段的所有实验的数据。

--tracking-uri <tracking_uri>

用于删除标记为 ‘deleted’ 的运行时使用的跟踪 URI,例如 http://127.0.0.1:8080

Environment variables

MLFLOW_ARTIFACTS_DESTINATION

--artifacts-destination 提供默认值

models

在本地部署 MLflow 模型。

要在跟踪服务器上部署与某次运行关联的模型,请将 MLFLOW_TRACKING_URI 环境变量设置为所需服务器的 URL。

mlflow models [OPTIONS] COMMAND [ARGS]...

构建 Docker

构建一个 Docker 镜像,其默认入口点为 MLflow 模型在端口 8080 提供服务,使用 python_function flavor。容器会提供由 --model-uri 引用的模型(如果在调用 build-docker 时指定了该参数)。如果在调用 build_docker 时未指定 --model-uri,则必须将一个 MLflow Model 目录作为卷挂载到容器内的 /opt/ml/model 目录中。

使用 --model-uri 构建 Docker 镜像:

# Build a Docker image named 'my-image-name' that serves the model from run 'some-run-uuid'
# at run-relative artifact path 'my-model'
mlflow models build-docker --model-uri "runs:/some-run-uuid/my-model" --name "my-image-name"
# Serve the model
docker run -p 5001:8080 "my-image-name"

在没有 --model-uri 的情况下构建 Docker 镜像:

# Build a generic Docker image named 'my-image-name'
mlflow models build-docker --name "my-image-name"
# Mount the model stored in '/local/path/to/artifacts/model' and serve it
docker run --rm -p 5001:8080 -v /local/path/to/artifacts/model:/opt/ml/model "my-image-name"

重要

从 MLflow 2.10.1 起,使用 --model-uri 构建的 Docker 镜像为提高性能默认不安装 Java,除非模型类型为 ["johnsnowlabs", "h2o", "spark"] 之一。如果你需要为其他类型安装 Java,例如使用 SparkML 的自定义 Python 模型,请指定 --install-java 标志以强制安装 Java。

注意:默认情况下,容器会启动 nginx 和 uvicorn 进程。如果你不需要启动 nginx 进程(例如将容器部署到 Google Cloud Run 时),可以通过 DISABLE_NGINX 环境变量将其禁用:

docker run -p 5001:8080 -e DISABLE_NGINX=true "my-image-name"

默认情况下,uvicorn 的工作进程数设置为 CPU 核心数。如果要设置自定义的工作进程数,可以设置环境变量 MLFLOW_MODELS_WORKERS:

docker run -p 5001:8080 -e MLFLOW_MODELS_WORKERS=4 "my-image-name"

有关 ‘python_function’ flavor 的更多信息,请参见 https://www.mlflow.org/docs/latest/python_api/mlflow.pyfunc.html

mlflow models build-docker [OPTIONS]

选项

-m, --model-uri <URI>

[可选] 模型的 URI。一个本地路径、一个 ‘runs:/’ URI,或远程存储的 URI(例如,‘s3://’ URI)。有关模型工件支持的远程 URI 的更多信息,请参见 https://mlflow.org/docs/latest/tracking.html#artifact-stores

-n, --name <name>

用于构建镜像的名称

--env-manager <env_manager>

如果指定,使用指定的环境管理器为 MLmodel 创建一个环境。支持以下值:

- local: 使用本地环境
- virtualenv: 使用 virtualenv(并使用 pyenv 管理 Python 版本)
- conda: 使用 conda

如果未指定,默认为 virtualenv。

--mlflow-home <PATH>

指向 MLflow 项目的本地克隆路径。仅供开发使用。

--install-java <install_java>

在镜像中按需安装 Java。默认值为 None,允许 MLflow 决定是否安装。需要 Java 的 flavors(例如 Spark)会自动启用此功能。注意:此选项仅适用于 UBUNTU 基础镜像;Python 基础镜像不支持 Java 安装。

--install-mlflow

如果已指定且存在要激活的 conda 或 virtualenv 环境,mlflow 将在该环境被激活后安装到该环境中。已安装的 mlflow 的版本将与用于调用此命令的版本相同。

--enable-mlserver

通过 v2 推理协议启用 MLServer 的服务。您可以使用环境变量来配置 MLServer。(参见 https://mlserver.readthedocs.io/en/latest/reference/settings.html

generate-dockerfile

生成一个包含 Dockerfile 的目录,该 Dockerfile 的默认入口点在端口 8080 提供 MLflow 模型服务,使用 python_function flavor。生成的 Dockerfile 会写入指定的输出目录,同时将模型(如果指定)写入其中。该 Dockerfile 定义的镜像与由 mlflow models build-docker 生成的镜像等效。

mlflow models generate-dockerfile [OPTIONS]

选项

-m, --model-uri <URI>

[可选] 指向模型的 URI。一个本地路径、‘runs:/’ URI,或远程存储 URI(例如,‘s3://’ URI)。有关用于模型工件的受支持远程 URI 的更多信息,请参见 https://mlflow.org/docs/latest/tracking.html#artifact-stores

-d, --output-directory <output_directory>

用于存放生成的 Dockerfile 的输出目录。

--env-manager <env_manager>

如果指定,使用指定的环境管理器为 MLmodel 创建环境。支持以下值:

- local: 使用本地环境
- virtualenv: 使用 virtualenv (并使用 pyenv 管理 Python 版本)
- conda: 使用 conda

如果未指定,默认为 None,那么 MLflow 将根据模型的 flavor 配置自动选择环境管理器。 如果指定了 model-uri:如果在 flavor 配置中指定了 python 版本并且不需要安装 java,则使用本地环境。否则使用 virtualenv。 如果未提供 model-uri,则使用 virtualenv。

--mlflow-home <PATH>

指向本地克隆的 MLflow 项目的路径。仅用于开发。

--install-java <install_java>

如果需要,会在镜像中安装 Java。默认值为 None,由 MLflow 决定是否安装。像 Spark 这样的需要 Java 的 flavors 会自动启用此项。注意:此选项仅适用于 UBUNTU 基础镜像;Python 基础镜像不支持安装 Java。

--install-mlflow

如果已指定且存在需要被激活的 conda 或 virtualenv 环境,则 mlflow 将在该环境被激活后安装到该环境中。安装的 mlflow 版本将与用于调用此命令的版本相同。

--enable-mlserver

通过 v2 推理协议启用 MLServer 的服务。您可以使用环境变量来配置 MLServer。(参见 https://mlserver.readthedocs.io/en/latest/reference/settings.html

predict

使用已保存的 MLflow 模型以 json 格式生成预测。有关该函数接受的输入数据格式的信息,请参阅以下文档:https://www.mlflow.org/docs/latest/models.html#built-in-deployment-tools.

mlflow models predict [OPTIONS]

选项

-m, --model-uri <URI>

必需 模型的 URI。可以是本地路径、'runs:/' URI,或远程存储 URI(例如,'s3://' URI)。有关模型工件支持的远程 URI 的更多信息,请参见 https://mlflow.org/docs/latest/tracking.html#artifact-stores

-i, --input-path <input_path>

CSV,包含用于预测的 pandas DataFrame。

-o, --output-path <output_path>

将结果输出为 json 文件的目标文件。若未提供,则输出到 stdout。

-t, --content-type <content_type>

输入文件的内容类型。可以是{'json', 'csv'}之一。

--env-manager <env_manager>

如果指定,使用指定的环境管理器为 MLmodel 创建一个环境。支持以下值:

- local: 使用本地环境
- virtualenv: 使用 virtualenv(并使用 pyenv 管理 Python 版本)
- conda: 使用 conda

如果未指定,则默认使用 virtualenv。

--install-mlflow

如果指定并且存在要激活的 conda 或 virtualenv 环境,mlflow 将在该环境被激活后安装到该环境中。已安装的 mlflow 版本将与用于调用此命令的版本相同。

-r, --pip-requirements-override <pip_requirements_override>

指定包和版本以覆盖模型中定义的依赖项。必须是逗号分隔的字符串,例如 x==y,z==a。

--env <env>

运行模型时要设置的额外环境变量。必须是键值对,例如 –env key=value

准备环境

执行任何预测或部署模型所需的准备工作,例如下载依赖项或初始化 conda 环境。准备完成后,调用 predict 或 serve 应该很快。

mlflow models prepare-env [OPTIONS]

选项

-m, --model-uri <URI>

必需 模型的 URI。可以是本地路径、'runs:/' URI,或远程存储 URI(例如,'s3://' URI)。有关模型工件支持的远程 URI 的更多信息,请参见 https://mlflow.org/docs/latest/tracking.html#artifact-stores

--env-manager <env_manager>

如果指定,使用指定的环境管理器为 MLmodel 创建一个环境。支持以下值:

- local: 使用本地环境
- virtualenv: 使用 virtualenv(并用 pyenv 管理 Python 版本)
- conda: 使用 conda

如果未指定,默认为 virtualenv。

--install-mlflow

如果指定了且存在要被激活的 conda 或 virtualenv 环境,mlflow 将在该环境被激活后安装到其中。已安装的 mlflow 的版本将与用于调用此命令的版本相同。

服务

通过在指定的主机和端口上启动一个 web 服务器来为由 MLflow 保存的模型提供服务。 该命令支持具有 python_functioncrate(R 函数)flavor 的模型。 有关 web 服务器接受的输入数据格式的信息,请参阅以下文档: https://www.mlflow.org/docs/latest/models.html#built-in-deployment-tools.

警告

使用 MLflow 1.x 构建的模型在运行于安装了 MLflow 2.x 的环境中时,需要对端点请求负载进行调整。如果在 1.x 中,请求负载的格式为: {'columns': [str], 'data': [[...]]}。2.x 模型要求负载由以下任一结构定义键中的一个来定义:dataframe_splitinstancesinputsdataframe_records。参见下面的示例,演示在 2.0 中对 invocation API 端点的更改。

注意

在 pandas DataFrame 结构中发出的请求可以采用 splitrecords 取向格式。 详见 https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_json.html 以获取将 pandas DataFrame 转换为 json 时的取向格式的详细信息。

示例:

$ mlflow models serve -m runs:/my-run-id/model-path &

# records orientation input format for serializing a pandas DataFrame
$ curl http://127.0.0.1:5000/invocations -H 'Content-Type: application/json' -d '{
    "dataframe_records": [{"a":1, "b":2}, {"a":3, "b":4}, {"a":5, "b":6}]
}'

# split orientation input format for serializing a pandas DataFrame
$ curl http://127.0.0.1:5000/invocations -H 'Content-Type: application/json' -d '{
    "dataframe_split": {"columns": ["a", "b"],
                        "index": [0, 1, 2],
                        "data": [[1, 2], [3, 4], [5, 6]]}
}'

# inputs format for List submission of array, tensor, or DataFrame data
$ curl http://127.0.0.1:5000/invocations -H 'Content-Type: application/json' -d '{
    "inputs": [[1, 2], [3, 4], [5, 6]]
}'

# instances format for submission of Tensor data
curl http://127.0.0.1:5000/invocations -H 'Content-Type: application/json' -d '{
    "instances": [
        {"a": "t1", "b": [1, 2, 3]},
        {"a": "t2", "b": [4, 5, 6]},
        {"a": "t3", "b": [7, 8, 9]}
    ]
}'
mlflow models serve [OPTIONS]

选项

-m, --model-uri <URI>

必需 模型的 URI。可以是本地路径、'runs:/' URI,或远程存储 URI(例如,'s3://' URI)。有关模型工件支持的远程 URI 的更多信息,请参见 https://mlflow.org/docs/latest/tracking.html#artifact-stores

-p, --port <port>

监听的端口(默认:5000)。

-h, --host <HOST>

用于监听的网络地址 (默认: 127.0.0.1)。如果想从其他机器访问跟踪服务器,请使用 0.0.0.0 绑定到所有地址。

-t, --timeout <timeout>

以秒为单位的请求超时时间(默认:60)。

-w, --workers <workers>

为 mlflow 模型提供服务时用于处理请求的 uvicorn worker 数量(默认:1)。

--env-manager <env_manager>

如果指定,使用指定的环境管理器为 MLmodel 创建一个环境。支持以下值:

- local: 使用本地环境
- virtualenv: 使用 virtualenv (以及 pyenv 用于 Python 版本管理)
- conda: 使用 conda

如果未指定,默认为 virtualenv。

--no-conda

如果已指定,则使用本地环境。

--install-mlflow

如果已指定且存在要激活的 conda 或 virtualenv 环境,mlflow 将在该环境被激活后安装到该环境中。已安装的 mlflow 的版本将与用于调用此命令的版本相同。

--enable-mlserver

通过 v2 推理协议启用 MLServer 的服务。您可以使用环境变量来配置 MLServer。(参见 https://mlserver.readthedocs.io/en/latest/reference/settings.html

Environment variables

MLFLOW_PORT

--port 提供默认值

MLFLOW_HOST

--host提供默认值

MLFLOW_SCORING_SERVER_REQUEST_TIMEOUT

--timeout 提供默认值

MLFLOW_MODELS_WORKERS

--workers 提供默认值

update-pip-requirements

从模型的 conda.yaml 和 requirements.txt 文件中添加或删除依赖项。 如果使用远程跟踪服务器,请确保将 MLFLOW_TRACKING_URI 环境变量设置为所需服务器的 URL。

REQUIREMENT_STRINGS 是一个 pip requirements 说明符列表。参见下方示例。

示例用法:

# Add requirements using the model's "runs:/" URI

mlflow models update-pip-requirements -m runs:/<run_id>/<model_path> \
    add "pandas==1.0.0" "scikit-learn" "mlflow >= 2.8, != 2.9.0"

# Remove requirements from a local model

mlflow models update-pip-requirements -m /path/to/local/model \
    remove "torchvision" "pydantic"

请注意,模型注册表 URI(即形式为 models:/ 的 URI)不受支持,因为模型注册表中的工件是只读的。在只读工件存储库中编辑 requirements 也不受支持。

如果添加 requirements,函数会覆盖任何重叠的已存在 requirements,或者将新的 requirements 附加到现有列表中。

如果移除 requirements,函数将忽略任何版本说明符,并移除所有指定的包名。任何在现有文件中未找到的 requirements 将被忽略。

mlflow models update-pip-requirements [OPTIONS] {add|remove}
                                      [REQUIREMENT_STRINGS]...

选项

-m, --model-uri <URI>

必需 模型的 URI。可以是本地路径、'runs:/' URI,或远程存储 URI(例如,'s3://' URI)。有关模型工件支持的远程 URI 的更多信息,请参见 https://mlflow.org/docs/latest/tracking.html#artifact-stores

参数

OPERATION

必需的参数

REQUIREMENT_STRINGS

可选参数

run

从给定的 URI 运行一个 mlflow 项目。

对于本地运行,运行将阻塞直到完成。 否则,项目将以异步方式运行。

如果在本地运行(默认),URI 可以是 Git 存储库 URI 或本地路径。 如果在 Databricks 上运行,URI 必须是 Git 存储库。

默认情况下,Git 项目在一个新的工作目录中使用给定的参数运行,而本地项目则从项目的根目录运行。

mlflow run [OPTIONS] URI

选项

-e, --entry-point <NAME>

项目中的入口点。[默认: main]。如果未找到入口点,系统会尝试将具有指定名称的项目文件作为脚本运行,使用 ‘python’ 来运行 .py 文件,并使用默认的 shell(由环境变量 $SHELL 指定)来运行 .sh 文件。

-v, --version <VERSION>

要运行的项目版本,对于 Git 项目,作为 Git 提交引用。

-P, --param-list <NAME=VALUE>

运行的一个参数,形式为 -P name=value。提供的、不在入口点参数列表中的参数将作为命令行参数传递给相应的入口点,形式为 –name value

-A, --docker-args <NAME=VALUE>

一个 docker run 参数或标志,形式为 -A name=value (例如 -A gpus=all) 或 -A name (例如 -A t)。该参数随后将分别作为 docker run –name valuedocker run –name 传递。

--experiment-name <experiment_name>

用于启动运行的实验名称。如果未指定,将使用 ‘experiment-id’ 选项来启动运行。

--experiment-id <experiment_id>

要在其下启动运行的实验的 ID。

-b, --backend <BACKEND>

用于运行的执行后端。支持的值:‘local’, ‘databricks’, kubernetes (experimental)。默认值为 ‘local’。如果针对 Databricks 运行,将根据以下方式确定要运行的 Databricks 工作区:如果已设置形式为 ‘databricks://profile’ 的 Databricks tracking URI(例如通过设置 MLFLOW_TRACKING_URI 环境变量),则将在由 指定的工作区运行。否则,将在由默认 Databricks CLI 配置文件指定的工作区运行。有关配置 Databricks CLI 配置文件的更多信息,请参见 https://github.com/databricks/databricks-cli。

-c, --backend-config <FILE>

JSON 文件的路径(必须以 '.json' 结尾)或将作为配置传递给后端的 JSON 字符串。不同的执行后端需要提供的具体内容不同,详见 https://www.mlflow.org/docs/latest/projects.html

--env-manager <env_manager>

如果指定,使用指定的环境管理器为 MLproject 创建环境。支持以下值:

- local: 使用本地环境
- virtualenv: 使用 virtualenv (并使用 pyenv 管理 Python 版本)
- uv: 使用 uv
- conda: 使用 conda

如果未指定,则会根据项目配置自动选择合适的环境管理器。例如,如果 MLproject.yaml 包含一个 python_env 键,则使用 virtualenv。

--storage-dir <storage_dir>

仅在 backend 为本地时有效。MLflow 会将传递给类型为 ‘path’ 的参数的分布式 URI 指向的工件下载到 storage_dir 的子目录中。

--run-id <RUN_ID>

如果指定,将使用给定的 run ID,而不是创建新的运行。注意:该参数由 MLflow project APIs 内部使用,不应指定。

--run-name <RUN_NAME>

要为与该项目执行相关联的 MLflow Run 指定的名称。若未指定,MLflow Run 名称将保持未设置。

--build-image

仅对 Docker 项目有效。如果指定,会构建一个新的 Docker 镜像,该镜像基于 MLproject 文件中 image 字段指定的镜像,并包含项目目录中的文件。

Default

False

参数

URI

必需的参数

Environment variables

MLFLOW_EXPERIMENT_NAME

--experiment-name 提供默认值

MLFLOW_EXPERIMENT_ID

--experiment-id 提供默认值

MLFLOW_TMP_DIR

--storage-dir 提供默认值

runs

管理运行。要管理与跟踪服务器关联的实验运行,请将 MLFLOW_TRACKING_URI 环境变量设置为所需服务器的 URL。

mlflow runs [OPTIONS] COMMAND [ARGS]...

删除

将运行标记为待删除。如果运行不存在或已被标记,则返回错误。您可以使用 restore_run 恢复被标记的运行,或在后端存储中永久删除运行。

mlflow runs delete [OPTIONS]

选项

--run-id <run_id>

必填

描述

所有运行的详细信息将以 JSON 格式打印到 stdout。

mlflow runs describe [OPTIONS]

选项

--run-id <run_id>

必填

列表

列出在已配置的跟踪服务器中指定实验的所有运行。

mlflow runs list [OPTIONS]

选项

--experiment-id <experiment_id>

必需 指定 experiment ID 以获取运行列表。

-v, --view <view>

为列出实验选择视图类型。有效的视图类型有 ‘active_only’(默认)、‘deleted_only’ 和 ‘all’。

Environment variables

MLFLOW_EXPERIMENT_ID

--experiment-id 提供默认值

恢复

还原已删除的运行。 如果运行处于活动状态或已被永久删除,则返回错误。

mlflow runs restore [OPTIONS]

选项

--run-id <run_id>

必填

sagemaker

在 SageMaker 上部署模型。

要在跟踪服务器上为与某次运行关联的模型提供服务,请将 MLFLOW_TRACKING_URI 环境变量设置为所需服务器的 URL。

mlflow sagemaker [OPTIONS] COMMAND [ARGS]...

build-and-push-container

构建新的 MLflow Sagemaker 镜像,为其指定名称,并推送到 ECR。

此函数构建一个 MLflow Docker 镜像。镜像在本地构建,运行该过程需要 Docker。该镜像会被推送到当前激活的 AWS 账户下的 ECR,并推送到当前激活的 AWS 区域。

mlflow sagemaker build-and-push-container [OPTIONS]

选项

--build, --no-build

如果已设置,则构建容器。

--push, --no-push

如果已设置,则将容器推送到 AWS ECR。

-c, --container <container>

镜像名称

--install-java <install_java>

如果需要,会在镜像中安装 Java。默认值为 None,由 MLflow 决定是否安装。像 Spark 这样的需要 Java 的 flavors 会自动启用此项。注意:此选项仅适用于 UBUNTU 基础镜像;Python 基础镜像不支持安装 Java。

--env-manager <env_manager>

如果指定,使用指定的环境管理器为 MLmodel 创建环境。支持以下值:

- local: 使用本地环境
- virtualenv: 使用 virtualenv (并用 pyenv 管理 Python 版本)
- conda: 使用 conda

如果未指定,则默认使用 virtualenv。

--mlflow-home <PATH>

指向本地克隆的 MLflow 项目的路径。仅用于开发。

deploy-transform-job

在 Sagemaker 上将模型部署为批量转换作业。当前活动的 AWS 账户需要设置正确的权限。

默认情况下,除非指定了 --async 标志,否则此命令将阻塞,直到批量转换作业完成(明确成功或失败)或指定的超时时间到期。

mlflow sagemaker deploy-transform-job [OPTIONS]

选项

-n, --job-name <job_name>

必填 转换作业名称

-m, --model-uri <URI>

必需 模型的 URI。可以是本地路径、'runs:/' URI,或远程存储 URI(例如,'s3://' URI)。有关模型工件支持的远程 URI 的更多信息,请参见 https://mlflow.org/docs/latest/tracking.html#artifact-stores

--input-data-type <input_data_type>

必需 转换作业的输入数据类型

-u, --input-uri <input_uri>

必填 输入数据的 S3 键名前缀或清单

--content-type <content_type>

必需 数据的多用途互联网邮件扩展 (MIME) 类型

-o, --output-path <output_path>

必需 用于存储 Sagemaker transform 作业输出结果的 S3 路径

--compression-type <compression_type>

转换数据的压缩类型

-s, --split-type <split_type>

将转换作业的数据文件拆分为更小批次的方法

-a, --accept <accept>

输出数据的多用途互联网邮件扩展 (MIME) 类型

--assemble-with <assemble_with>

将转换作业的结果组装为单个 S3 对象的方法

--input-filter <input_filter>

用于为转换作业选择输入数据部分的 JSONPath 表达式

--output-filter <output_filter>

用于从转换作业的输出数据中选择一部分的 JSONPath 表达式

-j, --join-resource <join_resource>

要与转换后的数据进行连接的数据来源

-e, --execution-role-arn <execution_role_arn>

SageMaker 执行角色

-b, --bucket <bucket>

S3 存储桶用于存储模型工件

-i, --image-url <image_url>

Docker 镜像的 ECR URL

--region-name <region_name>

用于部署转换作业的 AWS 区域名称

-t, --instance-type <instance_type>

要在其上执行批量转换作业的 SageMaker ML 实例类型。有关受支持的实例类型列表,请参阅 https://aws.amazon.com/sagemaker/pricing/instance-types/

-c, --instance-count <instance_count>

用于执行批量转换任务的 SageMaker ML 实例数量

-v, --vpc-config <vpc_config>

包含 JSON 格式 VPC 配置的文件路径。此配置将在创建与此应用关联的新 SageMaker 模型时使用。有关更多信息,请参阅 https://docs.aws.amazon.com/sagemaker/latest/dg/API_VpcConfig.html

-f, --flavor <flavor>

用于部署的 flavor 名称。必须是以下之一:[‘python_function’]。如果未指定,将会从模型可用的 flavor 中自动选择一个。

--archive

如果指定,在完成的批量转换作业之后变为非活动的任何 SageMaker 资源将被保留。这些资源可能包括关联的 SageMaker 模型和模型工件。否则,如果 –archive 未指定,则这些资源将被删除。–archive 必须在使用 –async 进行异步部署时指定。

--async

如果指定,该命令在启动部署过程后将立即返回。它不会等待部署过程完成。调用方负责通过原生 SageMaker APIs 或 AWS 控制台 监控部署过程。

--timeout <timeout>

如果命令以同步方式执行,部署过程将在指定的秒数后返回(如果尚未得到明确结果(成功或失败))。函数返回后,调用方负责通过原生 SageMaker APIs 或 AWS console 监控挂起的部署的运行状况和状态。如果使用 –async 标志以异步方式执行命令,则会忽略此值。

push-model

将 MLflow 模型推送到 Sagemaker 模型注册表。当前激活的 AWS 账户需要具备正确的权限设置。

mlflow sagemaker push-model [OPTIONS]

选项

-n, --model-name <model_name>

必填 Sagemaker 模型名称

-m, --model-uri <URI>

必需 模型的 URI。可以是本地路径、'runs:/' URI,或远程存储 URI(例如,'s3://' URI)。有关模型工件支持的远程 URI 的更多信息,请参见 https://mlflow.org/docs/latest/tracking.html#artifact-stores

-e, --execution-role-arn <execution_role_arn>

SageMaker 执行角色

-b, --bucket <bucket>

S3 存储桶,用于存储模型工件

-i, --image-url <image_url>

Docker 镜像的 ECR URL

--region-name <region_name>

推送 Sagemaker 模型的 AWS 区域名称

-v, --vpc-config <vpc_config>

包含 JSON 格式 VPC 配置的文件路径。此配置将在创建新的 SageMaker 模型时使用。更多信息,请参见 https://docs.aws.amazon.com/sagemaker/latest/dg/API_VpcConfig.html

-f, --flavor <flavor>

用于部署的 flavor 名称。必须为下列之一:[‘python_function’]。如果未指定,将从模型可用的 flavors 中自动选择一个。

terminate-transform-job

终止指定的 Sagemaker 批量转换作业。除非指定了 --archive,否则与该批量转换作业相关的所有 SageMaker 资源也将被删除。

默认情况下,除非指定了 --async 标志,该命令将阻塞,直到终止过程完成(最终成功或失败)或指定的超时到期。

mlflow sagemaker terminate-transform-job [OPTIONS]

选项

-n, --job-name <job_name>

必填 转换作业名称

-r, --region-name <region_name>

转换作业部署所在的 AWS 区域名称

--archive

如果指定,与应用程序关联的资源将被保留。这些资源可能包括未使用的 SageMaker 模型和模型工件。否则,如果 –archive 未指定,则这些资源将被删除。–archive 必须在使用 –async 异步删除时指定。

--async

如果指定,该命令在启动终止过程后将立即返回。它不会等待终止过程完成。调用方负责通过原生 SageMaker APIs 或 AWS console 监控终止过程。

--timeout <timeout>

如果命令以同步方式执行,在指定秒数后仍未获得确定结果(成功或失败),终止过程将返回。一旦函数返回,调用方需通过原生 SageMaker APIs 或 AWS 控制台监控挂起终止的运行状况和状态。如果使用 –async 标志以异步方式执行命令,则此值将被忽略。

server

运行 MLflow 跟踪服务器。

服务器默认监听 http://localhost:5000,并且只接受来自本机的连接。要让服务器接受来自其他机器的连接,您需要传入 --host 0.0.0.0 来监听所有网络接口(或某个特定接口地址)。

mlflow server [OPTIONS]

选项

--backend-store-uri <PATH>

用于持久化实验和运行数据的 URI。可接受的 URI 为与 SQLAlchemy 兼容的数据库连接字符串(例如 ‘sqlite:///path/to/file.db’)或本地文件系统 URI(例如 ‘file:///absolute/path/to/directory’)。默认情况下,数据将记录到 ./mlruns 目录。

--registry-store-uri <URI>

用于持久化已注册模型的 URI。可接受的 URI 是与 SQLAlchemy 兼容的数据库连接字符串(例如 ‘sqlite:///path/to/file.db’)。如果未指定,则使用 backend-store-uri

--default-artifact-root <URI>

用于存放新创建实验的工件的目录。对于依赖 SQL 的跟踪服务器后端,必须使用此选项才能存储工件。请注意,此标志不会影响已使用先前配置的 MLflow 服务器实例创建的实验。默认情况下,如果启用 –serve-artifacts 选项,数据将记录到 mlflow-artifacts:/ URI 代理。否则,默认位置将是 ./mlruns。

--serve-artifacts, --no-serve-artifacts

启用通过代理将工件上传、下载和列出请求路由到由 ‘–artifacts-destination’ 指定的存储位置来直接提供这些请求。默认这些请求从本地 ‘./mlartifacts’ 目录提供,该目录可以通过 ‘–artifacts-destination’ 参数覆盖。要禁用工件提供,请指定 –no-serve-artifacts。Default: True

--artifacts-only

如果指定,将配置 mlflow 服务器仅用于代理的工件服务。启用此模式后,mlflow 跟踪服务的功能(例如:运行创建、指标记录和参数记录)将被禁用。服务器将仅公开用于上传、下载和列出工件的端点。默认:False

--artifacts-destination <URI>

用于解析工件上传/下载/列出请求的基础工件位置(例如 ‘s3://my-bucket’)。默认为本地 ‘./mlartifacts’ 目录。仅当跟踪服务器配置为流式传输工件且实验的工件根位置为 http 或 mlflow-artifacts URI 时,此选项才适用。

-h, --host <HOST>

用于监听的网络地址 (默认: 127.0.0.1)。如果想从其他机器访问跟踪服务器,请使用 0.0.0.0 绑定到所有地址。

-p, --port <port>

监听的端口(默认:5000)。

-w, --workers <workers>

处理请求的工作进程数量(默认:4)。

--static-prefix <static_prefix>

一个前缀,会被添加到所有静态路径的前面。

--gunicorn-opts <gunicorn_opts>

附加的命令行选项将被转发到gunicorn进程。

--waitress-opts <waitress_opts>

用于 waitress-serve 的其他命令行选项。

--uvicorn-opts <uvicorn_opts>

转发给 uvicorn 进程的其他命令行选项(默认情况下使用)。

--expose-prometheus <expose_prometheus>

存放指标的目录路径。如果该目录不存在,将会创建。启用 prometheus 导出器以在 /metrics 端点暴露指标。

--app-name <app_name>

用于跟踪服务器的应用名称。如果未指定,将使用 ‘mlflow.server:app’。

Options

基本认证

--dev

如果启用,运行服务器时将开启调试日志并自动重新加载。仅应在开发环境中使用。不能与‘–gunicorn-opts’或‘–uvicorn-opts’一起使用。在 Windows 上不受支持。

Default

False

Environment variables

MLFLOW_BACKEND_STORE_URI

--backend-store-uri 提供默认值

MLFLOW_REGISTRY_STORE_URI

--registry-store-uri 提供默认值

MLFLOW_DEFAULT_ARTIFACT_ROOT

--default-artifact-root 提供默认值

MLFLOW_SERVE_ARTIFACTS

--serve-artifacts 提供默认值

MLFLOW_ARTIFACTS_ONLY

--artifacts-only 提供默认值

MLFLOW_ARTIFACTS_DESTINATION

--artifacts-destination 提供默认值

MLFLOW_HOST

--host提供默认值

MLFLOW_PORT

--port 提供默认值

MLFLOW_WORKERS

--workers 提供默认值

MLFLOW_STATIC_PREFIX

--static-prefix 提供默认值

MLFLOW_GUNICORN_OPTS

--gunicorn-opts 提供默认值

MLFLOW_UVICORN_OPTS

--uvicorn-opts 提供默认值

MLFLOW_EXPOSE_PROMETHEUS

--expose-prometheus 提供默认值