【问题标题】:Azure Databricks model serving mlflow error version服务 mlflow 错误版本的 Azure Databricks 模型
【发布时间】:2023-01-13 05:46:37
【问题描述】:

大家好或晚上好!

我最近想使用 azure 的注册模型。 我将我的实验附加到我的模型并启动了服务,到目前为止一切顺利!

问题来自我们试图对该模型提出的请求:

无法识别的内容类型参数:格式。重要提示:MLflow 模型评分协议在 MLflow 2.0 版中发生了变化。如果您看到此错误,您可能使用了过时的评分请求格式。要解决该错误,请更新您的请求格式或调整您的 MLflow 模型的需求文件以指定旧版本的 MLflow(例如,将“mlflow”需求说明符更改为“mlflow==1.30.0”)。如果您使用 MLflow 客户端发出请求(例如通过 mlflow.pyfunc.spark_udf()),请将您的 MLflow 客户端升级到版本 >= 2.0 以使用新的请求格式。有关 MLflow 2.0 中更新的 MLflow 模型评分协议的更多信息,请参阅https://mlflow.org/docs/latest/models.html#deploy-mlflow-models

无法找到此问题的真正根源。我们更新了 Mlflow 的版本(从 1.30 到 2.0.1)并重新使用为发送数据提供的确切格式。

此外,经过多次搜索,我们发现该类型的案例很少。 azure doc 不断回来,却找不到其他有需要的用户。

你以前遇到过这个问题吗?你是如何设法调试它的?

预先感谢您的帮助 !

【问题讨论】:

    标签: azure-databricks mlflow serving


    【解决方案1】:

    对我有用的是:

    model_name = "model_name"
    model_uri = f"models:/{model_name}/Production" 
    mlflow.pyfunc.get_model_dependencies(model_uri, format='pip')
    

    最后一行为您提供了可以添加的依赖项,以便在笔记本的开头进行安装。然后将 env_manager='conda' 添加到 mlflow.pyfunc.spark_udf 调用

    【讨论】:

    • 这是否意味着我们需要将 conda 添加到我们的环境中?如果是这样,请问如何?
    • 嗨@SGarg 我在尝试mlflow.pyfunc.spark_udf(spark, model_uri, result_type='double',env_manager='local') 时遇到了这个错误:TypeError: spark_udf() got an unexpected keyword argument 'env_manager'
    【解决方案2】:

    您找到问题的解决方案了吗?我在尝试通过服务模型的 UI 推送数据时遇到了同样的错误,并在我的 ML Flow 代码中发现了错误。您能否分享在提供服务之前用于构建 ML 流模型的代码?

    【讨论】:

      猜你喜欢
      • 2019-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 2020-03-30
      • 2020-11-16
      • 2020-04-12
      相关资源
      最近更新 更多