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

Azure ML designer下载Blob storage模型在Python脚本模块加载报错咨询

Azure ML Designer加载Blob存储Pickle模型路径错误解决方案

该错误不是Pipeline绑定的Compute Cluster的限制,是Azure ML Python脚本模块的目录读写规则、路径配置问题导致的,可按以下步骤修复:

修复步骤

  • 确认读写路径合法性
    Azure ML Designer的Python脚本模块仅开放./scratch(临时目录,Pipeline运行后清空)和./outputs(持久化目录,运行后可在作业详情中查看文件)两个可读写目录,自定义路径会触发不存在/无权限报错,所有文件读写操作都需要放在这两个目录下。

  • 调整代码逻辑
    示例代码如下:

import os
import pickle
from azure.storage.blob import BlobClient

# 初始化合法目录,强制创建避免目录不存在错误
save_dir = "./scratch"
os.makedirs(save_dir, exist_ok=True)
model_file_path = os.path.join(save_dir, "trained_model.pkl")

# 下载Blob存储中的模型文件
blob_conn_str = "你的Azure Blob存储连接字符串"
container_name = "存储容器名称"
blob_model_path = "容器内模型文件的路径/xxx.pkl"
blob_client = BlobClient.from_connection_string(blob_conn_str, container_name, blob_model_path)

with open(model_file_path, "wb") as f:
    download_stream = blob_client.download_blob()
    download_stream.readinto(f)

# 验证文件存在后加载模型
if os.path.exists(model_file_path):
    with open(model_file_path, "rb") as f:
        model = pickle.load(f)
else:
    raise FileNotFoundError(f"模型文件未下载成功,检查Blob连接信息、路径配置")
  • 可选更稳定方案:用Datastore挂载访问
    你可以将保存模型的Blob存储提前注册为Azure ML工作区的数据存储(Datastore),将模型文件作为数据集直接挂载到Python脚本模块的输入端口,无需手动下载,直接读取挂载路径的文件即可,避免下载逻辑带来的错误。

内容的提问来源于stack exchange,提问作者Guilherme Takata

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:54:01