Environment 类

为机器学习试验配置可重现的 Python 环境。

环境定义机器学习试验中使用的 Python 包、环境变量和 Docker 设置,包括数据准备、训练和部署到 Web 服务。 环境在 Azure 机器学习 Workspace中管理和版本控制。 可以更新现有环境并检索要重复使用的版本。 环境是它们在其中创建的工作区的独占,不能在不同的工作区中使用。

有关环境的详细信息,请参阅 创建和管理可重用的环境

类环境构造函数。

构造函数

Environment(name, **kwargs)

参数

名称 说明
name
必需

环境的名称。

注释

不要使用“Microsoft”或“AzureML”启动环境名称。 前缀“Microsoft”和“AzureML”是为特选环境保留的。 有关特选环境的详细信息,请参阅 创建和管理可重用的环境

注解

Azure 机器学习提供特选环境,这些环境是预定义的环境,为构建自己的环境提供良好的起点。 特选环境由缓存的 Docker 映像提供支持,从而降低了运行准备成本。 有关特选环境的详细信息,请参阅 创建和管理可重用的环境

在 Azure 机器学习中创建环境有多种方法,包括:

以下示例演示如何实例化新环境。


   from azureml.core import Environment
   myenv = Environment(name="myenv")

可以通过注册环境来管理环境。 这样,就可以跟踪环境的版本,并在将来的运行中重复使用它们。


   myenv.register(workspace=ws)

有关使用环境的更多示例,请参阅 Jupyter Notebook Using 环境

变量

名称 说明
Environment.databricks

本部分配置 azureml.core.databricks.DatabricksSection 库依赖项。

docker

本部分配置与构建到环境规范的最终 Docker 映像相关的设置,以及是否使用 Docker 容器生成环境。

inferencing_stack_version

本部分指定添加到映像的推理堆栈版本。 若要避免添加推理堆栈,请不要设置此值。 有效值:latest。

python

本部分指定要在目标计算中使用的 Python 环境和解释器。

spark

此节配置 Spark 设置。 仅当框架设置为 PySpark 时,才使用它。

r

本部分指定要在目标计算中使用的 R 环境。

version

环境的版本。

asset_id

资产 ID。 在注册环境时填充。

方法

add_private_pip_wheel

将磁盘上的专用 pip wheel 文件上传到附加到工作区的 Azure 存储 Blob。

如果工作区存储 blob 中已存在同名的专用 pip 滚轮,则引发异常。

build

在云中为此环境生成 Docker 映像。

build_local

生成本地 Docker 或 conda 环境。

clone

克隆环境对象。

返回具有新名称的环境对象的新实例。

from_conda_specification

从环境规范 YAML 文件创建环境对象。

若要获取环境规范 YAML 文件,请参阅 conda 用户指南中的 管理环境

from_docker_build_context

从 Docker 生成上下文创建环境对象。

from_docker_image

使用可选的 Python 依赖性从基础 docker 映像创建环境对象。

如果指定了conda_specification或pip_requirements,Python 层将添加到环境中。 conda_specification和pip_requirements是相互排斥的。

from_dockerfile

从具有可选 Python 依赖性的 Dockerfile 创建环境对象。

如果指定了conda_specification或pip_requirements,Python 层将添加到环境中。 conda_specification和pip_requirements是相互排斥的。

from_existing_conda_environment

创建从本地现有 conda 环境创建的环境对象。

若要获取现有 conda 环境的列表,请运行 conda env list。 有关详细信息,请参阅 conda 用户指南中的 管理环境

from_pip_requirements

创建从 pip 要求文件创建的环境对象。

如果未指定 pip_version ,则会添加未固定的 pip 依赖项。

get

返回环境对象。

如果指定了标签,将返回以前使用该值标记的对象。 只能指定一个版本或标签参数。 如果两者均未命中,将返回最新版本的环境对象。

get_image_details

返回图像详细信息。

label

使用指定值标记工作区中的环境对象。

list

返回包含工作区中的环境的字典。

load_from_directory

从目录中的文件加载环境定义。

register

在工作区中注册环境对象。

save_to_directory

以易于编辑的格式将环境定义保存到目录。

add_private_pip_wheel

将磁盘上的专用 pip wheel 文件上传到附加到工作区的 Azure 存储 Blob。

如果工作区存储 blob 中已存在同名的专用 pip 滚轮,则引发异常。

static add_private_pip_wheel(workspace, file_path, exist_ok=False)

参数

名称 说明
workspace
必需

用于注册专用 pip wheel 的工作区对象。

file_path
必需
str

磁盘上本地 pip wheel 的路径,包括文件扩展名。

exist_ok

指示是否在滚轮已存在时引发异常。

默认值: False

返回

类型 说明
str

返回 Azure Blob 存储上上传的 pip wheel 的完整 URI,以在 conda 依赖项中使用。

build

在云中为此环境生成 Docker 映像。

build(workspace, image_build_compute=None)

参数

名称 说明
workspace
必需

存储映像的工作区及其关联的 Azure 容器注册表。

image_build_compute
str

将在其中生成映像的计算名称

默认值: None

返回

类型 说明

返回映像生成详细信息对象。

build_local

生成本地 Docker 或 conda 环境。

build_local(workspace, platform=None, **kwargs)

参数

名称 说明
workspace
必需

工作区。

platform
str

平台。 LinuxWindowsOSX 之一。 默认情况下将使用当前平台。

默认值: None
kwargs
必需

高级关键字参数

返回

类型 说明
str

将正在进行的 Docker 或 conda 生成的输出流式传输到控制台。

注解

以下示例演示如何生成本地环境。 请确保 工作区 实例化为有效的 azureml.core.workspace.Workspace 对象

生成本地 conda 环境


   from azureml.core import Environment
   myenv = Environment(name="myenv")
   registered_env = myenv.register(workspace)
   registered_env.build_local(workspace)

生成本地 docker 环境


   from azureml.core import Environment
   myenv = Environment(name="myenv")
   registered_env = myenv.register(workspace)
   registered_env.build_local(workspace, useDocker=True)

在本地生成 docker 映像,并选择性地将其推送到与工作区关联的容器注册表


   from azureml.core import Environment
   myenv = Environment(name="myenv")
   registered_env = myenv.register(workspace)
   registered_env.build_local(workspace, useDocker=True, pushImageToWorkspaceAcr=True)

clone

克隆环境对象。

返回具有新名称的环境对象的新实例。

clone(new_name)

参数

名称 说明
new_name
必需
str

新建环境名称

返回

类型 说明

新建环境对象

from_conda_specification

从环境规范 YAML 文件创建环境对象。

若要获取环境规范 YAML 文件,请参阅 conda 用户指南中的 管理环境

static from_conda_specification(name, file_path)

参数

名称 说明
name
必需
str

环境名称。

file_path
必需
str

conda 环境规范 YAML 文件路径。

返回

类型 说明

环境对象。

from_docker_build_context

从 Docker 生成上下文创建环境对象。

static from_docker_build_context(name, docker_build_context)

参数

名称 说明
name
必需
str

环境名称。

docker_build_context
必需

DockerBuildContext 对象。

返回

类型 说明

环境对象。

from_docker_image

使用可选的 Python 依赖性从基础 docker 映像创建环境对象。

如果指定了conda_specification或pip_requirements,Python 层将添加到环境中。 conda_specification和pip_requirements是相互排斥的。

static from_docker_image(name, image, container_registry=None, conda_specification=None, pip_requirements=None)

参数

名称 说明
name
必需
str

环境名称。

image
必需
str

完全限定的映像名称。

conda_specification
str

conda 规范文件。

默认值: None
container_registry

专用容器存储库详细信息。

默认值: None
pip_requirements
str

pip 要求文件。

默认值: None

返回

类型 说明

环境对象。

注解

如果基础映像来自需要授权的专用存储库,并且未在 AzureML 工作区级别设置授权,则需要container_registry

from_dockerfile

从具有可选 Python 依赖性的 Dockerfile 创建环境对象。

如果指定了conda_specification或pip_requirements,Python 层将添加到环境中。 conda_specification和pip_requirements是相互排斥的。

static from_dockerfile(name, dockerfile, conda_specification=None, pip_requirements=None)

参数

名称 说明
name
必需
str

环境名称。

dockerfile
必需
str

Dockerfile 内容或文件的路径。

conda_specification
str

conda 规范文件。

默认值: None
pip_requirements
str

pip 要求文件。

默认值: None

返回

类型 说明

环境对象。

from_existing_conda_environment

创建从本地现有 conda 环境创建的环境对象。

若要获取现有 conda 环境的列表,请运行 conda env list。 有关详细信息,请参阅 conda 用户指南中的 管理环境

static from_existing_conda_environment(name, conda_environment_name)

参数

名称 说明
name
必需
str

环境名称。

conda_environment_name
必需
str

本地现有 conda 环境的名称。

返回

类型 说明

如果导出 conda 规范文件失败,则环境对象或 None。

from_pip_requirements

创建从 pip 要求文件创建的环境对象。

如果未指定 pip_version ,则会添加未固定的 pip 依赖项。

static from_pip_requirements(name, file_path, pip_version=None)

参数

名称 说明
name
必需
str

环境名称。

file_path
必需
str

pip 要求文件路径。

pip_version
str

conda 环境的 Pip 版本。

默认值: None

返回

类型 说明

环境对象。

get

返回环境对象。

如果指定了标签,将返回以前使用该值标记的对象。 只能指定一个版本或标签参数。 如果两者均未命中,将返回最新版本的环境对象。

static get(workspace, name, version=None, label=None)

参数

名称 说明
workspace
必需

包含环境的工作区。

name
必需
str

要返回的环境的名称。

version
str

要返回的环境的版本。

默认值: None
label
str

环境标签值。

默认值: None

返回

类型 说明

环境对象。

get_image_details

返回图像详细信息。

get_image_details(workspace)

参数

名称 说明
workspace
必需

工作区。

返回

类型 说明

以听写的形式返回图像详细信息

label

使用指定值标记工作区中的环境对象。

static label(workspace, name, version, labels)

参数

名称 说明
workspace
必需

工作区

name
必需
str

环境名称

version
必需
str

环境版本

labels
必需

使用 标记环境的值

list

返回包含工作区中的环境的字典。

static list(workspace)

参数

名称 说明
workspace
必需

要从中列出环境的工作区。

返回

类型 说明
<xref:builtin.dict>[str, Environment]

环境对象的字典。

load_from_directory

从目录中的文件加载环境定义。

static load_from_directory(path)

参数

名称 说明
path
必需
str

源目录的路径。

register

在工作区中注册环境对象。

register(workspace)

参数

名称 说明
workspace
必需

工作区

name
必需
str

返回

类型 说明

返回环境对象

save_to_directory

以易于编辑的格式将环境定义保存到目录。

save_to_directory(path, overwrite=False)

参数

名称 说明
path
必需
str

目标目录的路径。

overwrite

如果应覆盖现有目录。 默认值为 false。

默认值: False

属性

environment_variables

使用 azureml.core.RunConfiguration 对象设置运行时变量。