如何从 MLflow 模型注册表检索模型签名

Mik*_*ike 7 mlflow

我已在 MLflow Tracking 服务器上注册了一个 scikit learn 模型,并且正在使用sklearn.load_model(model_uri).

现在,我想访问模型的签名,以便获得模型所需的输入/功能的列表,以便我可以按名称从功能存储中检索它们。我似乎无法在mlflowAPI 或MLFlowClientAPI 中找到任何可以让我访问签名或输入/输出属性的实用程序或方法,尽管我可以在 UI 中模型的每个版本下看到输入和输出列表。

我知道我可以在模型的工件中找到输入示例和模型配置,但这需要我实际下载工件并在脚本中手动加载它们。我不需要避免这种情况,但令我惊讶的是,我不能像返回运行的参数或指标那样将签名作为字典返回。

小智 4

无需下载MLModel文件即可访问模型签名的方式是在加载的模型下。然后您将访问模型的属性,例如其签名甚至其他 Pyfunc 定义的方法。

import mlflow

model = mlflow.pyfunc.load_model("runs:/<run_id>/model")
print(model._model_meta._signature)
Run Code Online (Sandbox Code Playgroud)