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

Azure模型注册表加载ONNX模型报ONNXRuntime NoSuchFile错误

Azure模型注册表加载ONNX模型找不到文件的解决方案

问题根因

你收到的报错核心原因是路径匹配错误:

onnxruntime.capi.onnxruntime_pybind11_state.NoSuchFile: [ONNXRuntimeError] : 3 : NO_SUCHFILE : Load model from mnist.onnx failed:Load model mnist.onnx failed. File doesn't exist

Azure ML部署注册的模型时,会自动将模型下载到环境变量AZUREML_MODEL_DIR指向的专属目录,不会直接存放在score.py的同级目录,你直接写相对路径mnist.onnx无法定位到实际的模型文件。

修复方案

修改score.py代码,通过环境变量拼接模型的绝对路径即可,修改后的完整参考代码如下:

import os
import onnxruntime

def init():
    global session
    # 读取Azure ML预设的模型存储根目录
    model_root = os.getenv("AZUREML_MODEL_DIR")
    # 拼接得到模型的绝对路径
    model_path = os.path.join(model_root, "mnist.onnx")
    session = onnxruntime.InferenceSession(model_path)

异常排查

如果修改后仍然报错,可以在init函数中增加调试逻辑确认路径:

  • 打印AZUREML_MODEL_DIR的实际值
  • 打印该目录下的所有文件列表,确认模型文件名是否和注册时一致,是否存在嵌套子目录
    如果注册模型时你上传的是包含模型文件的文件夹,需要在拼接路径时加上对应的文件夹层级,比如模型在注册文件夹的onnx_models/mnist.onnx下,就需要把路径拼接改为os.path.join(model_root, "onnx_models", "mnist.onnx")。

内容的提问来源于stack exchange,提问作者Rajan chawla

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:45:04