0

在 log_model 调用中生成的 runId 需要在 mlflow 模型服务中访问

我正在尝试以最低限度运行 mlflow 来部署自定义模型

迈出的第一步:我使用 log_model 观察保存模型:工件已正式保存在 mlruns

采取的第二步:我能够使用 mlflow 模型服务 -m 运行:观察:服务器在 5000 处启动

采取的第三步:我能够运行 curl 调用来预测观察:预测返回

问题:我如何将 Step1 中生成的 runId 传递给 Step2 即 log_model

请告知上述用例的推荐工作流程(是否需要使用跟踪/mlflow服务器)等。

mlflow.pyfunc.log_model(artifact_path="artifacts", python_model=add5_model)

问题:如何访问上述log_model返回的runId来调用mlflow模型serve -m runs

4

2 回答 2

0

如果我了解您的问题背后的意图,您有兴趣了解 runid以便能够以编程方式为其提供服务——使用 MLFlow v1.5 中的模型注册表,您可以注册模型(并具有版本号和生命周期阶段例如Staging, Production),并通过新的模型 URI 方案在没有运行 ID 的情况下为它们提供服务 -

models:/<model_name>/<model_version>

models:/<model_name>/<stage>

要训​​练和注册运行,请将registered_model_name=<registered model name>参数传递给log_model()调用。

假设您已将版本标记为Production,然后您可以为add5模型提供服务,mlflow models serve -m models:/add5/Production而不是指定运行 ID。

于 2019-12-25T06:27:29.700 回答
0

访问模型运行 ID 的最简单方法是检查 MLflow 跟踪服务器。唯一的运行 ID 将在页面顶部指定。

运行 ID 在跟踪服务器中的位置

要从该运行 ID 提供模型,mlflow models serve请从 MLflow CLI 使用:

mlflow models serve -m runs:/94709644a8834ade8e6deb67b420c157/artifacts/model

文档页面在这里

还值得注意的是,在使用 CLI 的给定实验中,有一些函数可用于运行。文档在这里

于 2019-09-06T00:07:36.737 回答