Environment 类

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

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

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

类环境构造函数。

继承
azureml._base_sdk_common.abstract_run_config_element._AbstractRunConfigElement
Environment

构造函数

Environment(name, **kwargs)

参数

name
string
必需

环境的名称。

注意

不要使用“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
DockerSection

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

inferencing_stack_version
string

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

python
PythonSection

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

spark
SparkSection

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

r
RSection

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

version
string

环境的版本。

asset_id
string

资产 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
Workspace
必需

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

file_path
str
必需

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

exist_ok
bool
默认值: False

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

返回

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

返回类型

str

build

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

build(workspace, image_build_compute=None)

参数

workspace
Workspace
必需

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

image_build_compute
str
默认值: None

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

返回

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

返回类型

build_local

生成本地 Docker 或 conda 环境。

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

参数

workspace
Workspace
必需

工作区。

platform
str
默认值: None

平台。 LinuxWindowsOSX 之一。 默认使用当前平台。

kwargs
dict
必需

高级关键字参数

返回

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

返回类型

str

注解

以下示例演示如何生成本地环境。 请确保将工作区实例化为有效的 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
必需

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
默认值: None

conda 规范文件。

container_registry
ContainerRegistry
默认值: None

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

pip_requirements
str
默认值: None

pip 要求文件。

返回

环境对象。

返回类型

注解

如果基础映像来自需要授权的专用存储库,并且未在 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
默认值: None

conda 规范文件。

pip_requirements
str
默认值: None

pip 要求文件。

返回

环境对象。

返回类型

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
默认值: None

conda 环境的 pip 版本。

返回

环境对象。

返回类型

get

返回环境对象。

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

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

参数

workspace
Workspace
必需

包含环境的工作区。

name
str
必需

要返回的环境名称。

version
str
默认值: None

要返回的环境版本。

label
str
默认值: None

环境标签值。

返回

环境对象。

返回类型

get_image_details

返回映像详细信息。

get_image_details(workspace)

参数

workspace
Workspace
必需

工作区。

返回

以字典形式返回映像详细信息

返回类型

label

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

static label(workspace, name, version, labels)

参数

workspace
Workspace
必需

工作区

name
str
必需

环境名称

version
str
必需

环境版本

labels
list[str]
必需

用于标记环境的值

list

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

static list(workspace)

参数

workspace
Workspace
必需

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

返回

环境对象的字典。

返回类型

<xref:builtin.dict>[str, Environment]

load_from_directory

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

static load_from_directory(path)

参数

path
str
必需

源目录的路径。

register

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

register(workspace)

参数

workspace
Workspace
必需

工作区

name
str
必需

返回

返回环境对象

返回类型

save_to_directory

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

save_to_directory(path, overwrite=False)

参数

path
str
必需

目标目录的路径。

overwrite
bool
默认值: False

是否覆盖现有目录。 默认值为 false。

属性

environment_variables

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