You need to enable JavaScript to run this app. 如何在本地运行AzureML脚本时调用Azure Machine Learning Studio远程数据集
优惠活动
大模型
产品
解决方案
定价
更多

如何在本地运行AzureML脚本时调用Azure Machine Learning Studio远程数据集

实现方案

你现有的训练脚本已经预留了--data_path参数,无需改动核心逻辑就能同时兼容本地调试、远程挂载Azure Datastore两种场景,具体操作步骤如下:

1. 前置准备

先把训练数据上传到Azure ML工作区绑定的Datastore中,你可以直接在Azure ML Studio的「数据」选项卡上传,也可以用SDK代码上传,上传后记录下数据所在的Datastore名称、以及数据在Datastore中的存储路径。

2. 编写实验提交控制脚本

在本地新建提交脚本submit_run.py,用来把远程Datastore路径作为参数传入你的训练脚本,示例代码如下:

from azureml.core import Workspace, Experiment, ScriptRunConfig, Environment
from azureml.core.datastore import Datastore
from azureml.data.datapath import DataPath

# 连接Azure ML工作区,提前把工作区的config.json下载到本地同目录
ws = Workspace.from_config()

# 获取存储训练数据的Datastore,示例用默认的workspaceblobstore,自建Datastore替换对应名称即可
datastore = Datastore.get(ws, datastore_name='workspaceblobstore')

# 定义远程数据路径,path_on_datastore填你数据在Datastore里的实际存储目录
remote_data_path = DataPath(datastore=datastore, path_on_datastore='titanic/train_data/')

# 加载你的训练环境,提前配置好带pandas、sklearn、azureml-core依赖的环境
env = Environment.get(ws, name='你的训练环境名称')

# 配置运行参数,把远程数据路径作为--data_path参数传入训练脚本
src = ScriptRunConfig(
    source_directory='./', # 填你本地训练脚本所在的目录
    script='train.py', # 填你上面贴的训练脚本的文件名
    arguments=['--data_path', remote_data_path.as_mount()], # as_mount表示自动挂载远程存储到运行环境
    environment=env,
    compute_target='你的计算集群名称' # 要本地调试直接填'local',会自动在你本地挂载远程Datastore,无需下载数据
)

# 提交实验
experiment = Experiment(ws, name='titanic-svm训练')
run = experiment.submit(src)
run.wait_for_completion(show_output=True)

可选优化

你的训练脚本里读取数据的代码可以稍加修改,避免挂载目录下有隐藏文件导致读取报错:

# 原代码
# train_df = pd.read_csv(os.path.join(args.data_path, os.listdir(args.data_path)[0]))
# 优化后
import glob
csv_files = glob.glob(os.path.join(args.data_path, "*.csv"))
train_df = pd.read_csv(csv_files[0])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 19:48:00