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

使用Azure CLI创建ML环境遇到的构建及使用异常问题

Azure ML CLI创建环境后的两个问题及解决办法

问题1:Conda规格无变化时环境镜像不构建(显示Not built)

用az ml environment create创建环境时,如果当前指定的Conda配置和同名称的旧版本完全一致,CLI会跳过镜像构建流程,只生成环境的元数据,导致环境在ML Studio里显示“Not built”。

解决办法

  • 强制触发构建:给CLI命令加上--build参数,不管Conda配置有没有变化,都会重新构建镜像:
az ml environment create --name $(AML_ENVIRONMENT_NAME) --version $(AML_ENVIRONMENT_VERSION) --resource-group $(RESOURCE_GROUP) --workspace-name $(WORKSPACE_NAME) --image $(AML_ENVIRONMENT_BASE_IMAGE) --conda-file $(AML_ENVIRONMENT_CONDA_SPEC) --build
  • 复用已有镜像:如果确认旧版本的镜像完全匹配当前需求,可以添加--use-existing-image参数,直接复用已构建的镜像,无需重新编译。

问题2:调用Environment.get()时触发Autosave版本的新构建

通过CLI创建的环境,元数据里缺少Python SDK预期的部分标识字段,导致调用Environment.get()时,SDK会误判环境需要更新,自动生成带Autosave_YYYY-MM-DDTHH:MM:SS后缀的新版本并触发构建,而且流水线会实际使用这个自动生成的版本。

解决办法

  • 禁用自动保存:获取环境后手动关闭自动保存开关,阻止SDK生成Autosave版本:
from azureml.core import Environment
env = Environment.get(ws, name=env_name, version=env_version)
env.autosave = False
  • CLI创建时显式设置构建策略:创建环境时用--set参数指定构建属性,让环境元数据和SDK创建的保持一致:
az ml environment create --name $(AML_ENVIRONMENT_NAME) --version $(AML_ENVIRONMENT_VERSION) --resource-group $(RESOURCE_GROUP) --workspace-name $(WORKSPACE_NAME) --image $(AML_ENVIRONMENT_BASE_IMAGE) --conda-file $(AML_ENVIRONMENT_CONDA_SPEC) --set build.build_on_create=True
  • 改用SDK的导入方法:用Environment.from_existing_workspace替代Environment.get,这个方法不会触发自动构建流程:
from azureml.core import Environment
env = Environment.from_existing_workspace(workspace=ws, name=env_name, version=env_version)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:01:30