使用Azure CLI创建ML环境时,并不总是构建ML环境

ifmq2ha2  于 2022-11-17  发布在  其他
关注(0)|答案(1)|浏览(159)

我正在使用Azure CLI创建ML环境,如下所示:

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)

这样做很好,但有两个问题:
1.如果conda规范没有从之前的规范中改变,则映像(“环境”)不会被构建。新的环境在ML Studio的“环境”视图中仍然可见,但它显示“未构建”。
1.甚至当映像 * 被 * 构建时,Environment类似乎没有使用它,而是开始了一个新的构建。我用来获得环境的代码如下:

from azureml.core import Experiment
env = Environment.get(ws, name=env_name, version=env_version)

所以,这个调用 * 确实 * 给予了我env,但是通过触发一个版本名为“Autosave_2022-xx-xxT..."的新构建来实现。然后,它需要大约半个小时来创建这个新映像。为什么它不能只使用已经构建的映像呢?如果我打印env,它会打印所需的env名称和版本(例如3),但当我查看管道作业时,实际环境版本是“自动保存...”版本。
当我开始使用Azure CLI创建环境时,这种“自动保存”的奇怪现象就开始发生了。在此之前,我使用Environment.from_docker_image()调用创建了环境,从来没有遇到过这个问题。
请参见下面的截图。

tzdcorbm

tzdcorbm1#

重现了问题,没有发现任何错误。请检查所遵循的过程

az account set --subscription <subscription ID>
az configure --defaults workspace=<AzureML workspace name> group=<resource group>

Azure ML中有两种类型的环境。一种是自定义环境,另一种是管理的环境。
策展具有预定义的环境和不同框架的属性。
要创建自定义环境,我们需要使用“az ml environment create name“创建
该高速缓存Docker映像为后盾,定期更新框架和库以支持运行在其上的应用程序。使用“az ml environments list“获取经策展的环境列表。创建YAML文件并上传到工作区本地环境的asserts文件夹中

$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: docker-image-example
image: pytorch/pytorch:latest
description: Environment created from a Docker image.

az ml environment create --file assets/environment/conda.yml

上面的语法将创建yaml文件

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)

以上是自动创建的策展环境

这是一个选项,我们将获得创建自定义环境与docker图像和conda环境。这将反映与创建的环境使用CLI

要创建的Docker图像的URL与上面的图像类似


指令集
版本号是为环境的复制正常创建的。不是自动保存扩展。

相关问题