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

AzureML中start_logging方法启动的是异步还是同步执行?

AzureML start_logging:同步运行 vs 异步监控的澄清

核心结论

start_logging启动的是本地同步运行,但它生成的Run对象具备监控运行状态、记录指标的能力——这种“监控”和异步执行本身是两个独立的概念,并不冲突。

详细解释

  1. start_logging的运行模式
    当你调用exp.start_logging()时,它会在当前本地进程中同步创建并启动一个Run上下文:
  • 后续代码会在这个Run的上下文中同步执行,代码执行会阻塞在当前会话,直到你主动调用run.complete()方法,才会结束这个Run的生命周期。
  • 如果不调用complete(),该Run会在AzureML门户中一直显示为“运行中”状态。
  1. Run对象的监控能力≠异步执行
    Run对象的设计初衷就是追踪试验的执行状态、记录指标和输出,不管这个Run是通过start_logging(本地同步)还是submit(远端异步)生成的,它都具备这些能力:
  • 用start_logging创建的Run,会把本地运行过程中的指标、日志实时同步到AzureML后台,你可以在门户上查看这些数据——这是对同步运行过程的监控,而非监控异步任务。
  • 而submit方法是把任务提交到远端计算目标(如AML集群),提交后立刻返回Run对象,任务在远端异步执行,此时Run对象用来监控这个远端的异步任务。

代码示例

from azureml.core import Experiment, Workspace

# 加载工作区
ws = Workspace.from_config()
# 创建实验
exp = Experiment(workspace=ws, name="demo-start-logging")

# 同步启动Run,进入运行上下文
run = exp.start_logging()

# 以下代码均为本地同步执行
run.log("training_accuracy", 0.92)
run.log("validation_accuracy", 0.89)

# 必须调用complete()来结束Run
run.complete()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:24:04