ContainerImage 类

表示容器映像,目前仅适用于 Docker 映像。

此类已弃用。 请改用 Environment 类。

该映像包含运行模型所需的依赖项,包括:

  • 运行时

  • Conda 文件中指定的 Python 环境定义

  • 启用 GPU 支持的功能

  • 特定运行命令的自定义 Docker 文件

图像构造函数。

此类已弃用。 请改用 Environment 类。

图像构造函数用于检索与提供的工作区关联的 Image 对象的云表示形式。 将返回与检索的图像对象的特定类型对应的子类的实例。

构造函数

ContainerImage(workspace, name=None, id=None, tags=None, properties=None, version=None)

参数

名称 说明
workspace
必需

包含要检索的图像的工作区对象

name
str

要检索的图像的名称。 将返回最新版本(如果存在)

默认值: None
id
str

要检索的图像的特定 ID。 (ID 为“<name>:<version>”)

默认值: None
tags

将按“key”或“[key, value]”根据提供的列表筛选图像结果。 例如: ['key', ['key2', 'key2 value']]

默认值: None
properties

将按“key”或“[key, value]”根据提供的列表筛选图像结果。 例如: ['key', ['key2', 'key2 value']]

默认值: None
version
str

当同时指定版本和名称时,将返回映像的特定版本。

默认值: None

注解

通过传递以前创建的 ContainerImage 的名称或 ID,使用 Image 类构造函数检索 ContainerImage。 下面的代码示例按名称和 ID 显示工作区中的图像检索。


   container_image_from_name = Image(workspace, name="image-name")
   container_image_from_id = Image(workspace, id="image-id")

若要创建新的要在部署中使用的映像配置,请生成一个 ContainerImageConfig 对象,如以下代码示例所示:


   from azureml.core.image import ContainerImage

   image_config = ContainerImage.image_configuration(execution_script="score.py",
                                                    runtime="python",
                                                    conda_file="myenv.yml",
                                                    description="image for model",
                                                    cuda_version="9.0"
                                                    )

方法

image_configuration

创建并返回对象 ContainerImageConfig

此函数接受参数来定义模型在 Web 服务中应如何运行,以及它需要能够运行的特定环境和依赖项。

run

使用给定的输入数据在本地运行映像。

必须安装并运行 Docker 才能正常工作。 此方法仅适用于 CPU,因为启用了 GPU 的映像只能在 Microsoft Azure 服务上运行。

serialize

将此 ContainerImage 对象转换为 JSON 序列化字典。

image_configuration

创建并返回对象 ContainerImageConfig

此函数接受参数来定义模型在 Web 服务中应如何运行,以及它需要能够运行的特定环境和依赖项。

static image_configuration(execution_script, runtime, conda_file=None, docker_file=None, schema_file=None, dependencies=None, enable_gpu=None, tags=None, properties=None, description=None, base_image=None, base_image_registry=None, cuda_version=None)

参数

名称 说明
execution_script
必需
str

包含要为映像运行的代码的本地 Python 文件的路径。 必须同时包括 init()和 run(input_data) 函数,这些函数定义 Web 服务的模型执行步骤。

runtime
必需
str

要用于映像的运行时。 当前支持的运行时是“spark-py”和“python”。

conda_file
str

包含要用于映像的 Conda 环境定义的本地.yml文件的路径。

默认值: None
docker_file
str

本地文件的路径,其中包含设置映像时要运行的其他 Docker 步骤。

默认值: None
schema_file
str

包含部署映像时要使用的 Web 服务架构的本地文件的路径。 用于生成模型部署的 Swagger 规范。

默认值: None
dependencies

映像需要运行的其他文件/文件夹的路径列表。

默认值: None
enable_gpu

是否在映像中启用 GPU 支持。 GPU 映像必须用于 Microsoft Azure 服务,例如 Azure 容器实例、Azure 机器学习计算、Azure 虚拟机和 Azure Kubernetes 服务。 默认为 False

默认值: None
tags

用于提供此图像的键值标记字典。

默认值: None
properties

要为此图像提供键值属性的字典。 部署后无法更改这些属性,但可以添加新的键值对。

默认值: None
description
str

用于提供此图像的文本说明。

默认值: None
base_image
str

要用作基础映像的自定义映像。 如果未提供基础映像,则基于给定的运行时参数使用基础映像。

默认值: None
base_image_registry

包含基础映像的映像注册表。

默认值: None
cuda_version
str

要为需要 GPU 支持的映像安装 CUDA 版本。 GPU 映像必须用于 Microsoft Azure 服务,例如 Azure 容器实例、Azure 机器学习计算、Azure 虚拟机和 Azure Kubernetes 服务。 支持的版本为 9.0、9.1 和 10.0。 如果设置了“enable_gpu”,则默认为“9.1”。

默认值: None

返回

类型 说明

创建映像时要使用的配置对象。

例外

类型 说明

run

使用给定的输入数据在本地运行映像。

必须安装并运行 Docker 才能正常工作。 此方法仅适用于 CPU,因为启用了 GPU 的映像只能在 Microsoft Azure 服务上运行。

run(input_data)

参数

名称 说明
input_data
必需
<xref:varies>

运行时要传递给映像的输入数据

返回

类型 说明
<xref:varies>

运行映像的结果。

例外

类型 说明

serialize

将此 ContainerImage 对象转换为 JSON 序列化字典。

serialize()

返回

类型 说明

此 ContainerImage 的 JSON 表示形式。