You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure ML无法从output文件夹读取model.pkl导致部署失败如何解决

Azure ACI部署读取artifacts目录model.pkl的正确实现

错误根因

你现有代码的核心问题是调用Model.get_model_path()获取到部署环境下的模型真实路径后,手动用仅在训练环境有效的相对路径"outputs/model.pkl"覆盖了该返回值,ACI部署的容器运行环境不存在这个相对路径,因此会触发文件读取失败。

正确实现步骤

  • 首先确认你在Azure工作区中注册的模型的准确名称,替换代码中<<modelname>>占位符,不要手动覆盖model_path的返回值
  • 在评分脚本头部引入必要的依赖库
  • 直接使用Model.get_model_path()返回的路径加载模型

正确代码示例

import joblib
from azureml.core.model import Model

def init():
    global model
    # 获取部署环境下模型的真实挂载路径,不需要手动写死路径
    model_path = Model.get_model_path(model_name = '替换为你实际注册的模型名称')
    # 反序列化模型
    model = joblib.load(model_path)

额外排查点

如果调整后仍然部署失败,可依次检查以下配置:

  • 确认你部署时关联的模型已经正确注册到Azure工作区,注册时上传的文件路径对应训练时生成的outputs/model.pkl
  • 确认部署使用的conda环境配置中,joblib、scikit-learn的版本和你训练模型时使用的版本完全一致,版本不匹配会导致模型反序列化失败
  • 不要使用任何相对路径直接读取模型文件,ACI容器的运行目录和训练任务的目录结构完全独立,所有模型路径必须通过Model.get_model_path()接口获取

内容的提问来源于stack exchange,提问作者Sai Varun Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 15:24:01