ContainerImage 类

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

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

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

  • 运行时

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

  • 启用 GPU 支持的能力

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

继承
ContainerImage

构造函数

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

参数

workspace
name
默认值: None
id
默认值: None
tags
默认值: None
properties
默认值: None
version
默认值: None

注解

使用 Image 类构造函数通过传递先前创建的 ContainerImage 的名称或 ID 来检索 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 文件路径。 必须包含定义 Web 服务的模型执行步骤的 init() 和 run(input_data) 函数。

runtime
str
必需

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

conda_file
str
默认值: None

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

docker_file
str
默认值: None

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

schema_file
str
默认值: None

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

dependencies
list[str]
默认值: None

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

enable_gpu
bool
默认值: None

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

tags
dict[str, str]
默认值: None

提供此映像的键值标记字典。

properties
dict[str, str]
默认值: None

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

description
str
默认值: None

提供此映像的文本说明。

base_image
str
默认值: None

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

base_image_registry
ContainerRegistry
默认值: None

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

cuda_version
str
默认值: None

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

返回

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

返回类型

例外

run

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

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

run(input_data)

参数

input_data
<xref:varies>
必需

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

返回

运行映像的结果。

返回类型

<xref:varies>

例外

serialize

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

serialize()

返回

此 ContainerImage 的 JSON 表示形式。

返回类型

例外