Environment 类

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

环境定义了在机器学习试验中使用的 Python 包、环境变量和 Docker 设置,这些设置将包含在数据准备中,经过训练并部署到 Web 服务。 环境在 Azure 机器学习 Workspace 中进行管理和版本控制。 可以更新现有环境并检索要重用的版本。 环境只能在其被创建的工作区中使用,而不能在其他工作区中使用。

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

类环境构造函数。

继承
azureml._base_sdk_common.abstract_run_config_element._AbstractRunConfigElement
Environment

构造函数

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 使用环境

变量

名称 说明
Environment.databricks

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

docker

此部分配置根据环境规范最终生成的 Docker 映像相关的设置,以及是否使用 Docker 容器来生成环境。

inferencing_stack_version

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

python

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

spark

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

r

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

version

环境的版本。

asset_id

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

方法

add_private_pip_wheel

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

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

build

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

build_local

生成本地 Docker 或 conda 环境。

clone

克隆环境对象。

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

from_conda_specification

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

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

from_docker_build_context

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

from_docker_image

从基础 docker 映像创建具有可选 python 依赖项的环境对象。

如果指定了 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

返回环境对象。

如果指定了标签,则返回先前使用值标记的对象。 只能指定 version 或 label 参数之一。 如果这两个参数都缺失,则将返回环境对象的最新版本。

get_image_details

返回映像详细信息。

label

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

list

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

load_from_directory

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

register

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

save_to_directory

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

add_private_pip_wheel

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

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

static add_private_pip_wheel(workspace, file_path, exist_ok=False)

参数

名称 说明
workspace
必需

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

file_path
必需
str

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

exist_ok

指示当 wheel 已存在时是否引发异常。

默认值: False

返回

类型 说明
str

返回已上传的 pip wheel 在 Azure Blob 存储上的完整 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

从基础 docker 映像创建具有可选 python 依赖项的环境对象。

如果指定了 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 规范文件失败,则返回环境对象或“无”。

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

返回环境对象。

如果指定了标签,则返回先前使用值标记的对象。 只能指定 version 或 label 参数之一。 如果这两个参数都缺失,则将返回环境对象的最新版本。

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 对象设置运行时变量。