Environment 类
为机器学习试验配置可再现的 Python 环境。
环境定义了在机器学习试验中使用的 Python 包、环境变量和 Docker 设置,这些设置将包含在数据准备中,经过训练并部署到 Web 服务。 环境在 Azure 机器学习 Workspace 中进行管理和版本控制。 可以更新现有环境并检索要重用的版本。 环境只能在其被创建的工作区中使用,而不能在其他工作区中使用。
有关环境的详细信息,请参阅创建和管理可重用环境。
类环境构造函数。
- 继承
-
azureml._base_sdk_common.abstract_run_config_element._AbstractRunConfigElementEnvironment
构造函数
Environment(name, **kwargs)
参数
名称 | 说明 |
---|---|
name
必需
|
环境的名称。 注意 不要使用“Microsoft”或“AzureML”作为环境名称的开头。 前缀“Microsoft”和“AzureML”是为特选环境保留的。 有关特选环境的详细信息,请参阅创建和管理可重用环境。 |
注解
Azure 机器学习提供特选环境,这是一些预定义的环境,它们提供良好的起点让你生成自己的环境。 特选环境由缓存的 Docker 映像支持,可以降低运行准备成本。 有关特选环境的详细信息,请参阅创建和管理可重用环境。
可通过多种方式在 Azure 机器学习中创建环境,包括:
初始化新环境对象。
使用 Environment 类方法之一:from_conda_specification、from_pip_requirements 或 from_existing_conda_environment。
以下示例演示如何实例化新环境。
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 环境的列表,请运行 |
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
必需
|
本地 pip wheel 在磁盘上的路径,包括文件扩展名。 |
exist_ok
|
指示当 wheel 已存在时是否引发异常。 默认值: False
|
返回
类型 | 说明 |
---|---|
返回已上传的 pip wheel 在 Azure Blob 存储上的完整 URI,以便在 conda 依赖项中使用。 |
build
在云中为此环境生成 Docker 映像。
build(workspace, image_build_compute=None)
参数
名称 | 说明 |
---|---|
workspace
必需
|
存储映像的工作区及其关联的 Azure 容器注册表。 |
image_build_compute
|
将在其中生成映像的计算名称 默认值: None
|
返回
类型 | 说明 |
---|---|
返回映像生成详细信息对象。 |
build_local
生成本地 Docker 或 conda 环境。
build_local(workspace, platform=None, **kwargs)
参数
名称 | 说明 |
---|---|
workspace
必需
|
工作区。 |
platform
|
平台。 Linux、Windows 或 OSX 之一。 默认使用当前平台。 默认值: None
|
kwargs
必需
|
高级关键字参数 |
返回
类型 | 说明 |
---|---|
将正在进行的 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
from_conda_specification
从环境规范 YAML 文件创建环境对象。
若要获取环境规范 YAML 文件,请参阅 conda 用户指南中的管理环境。
static from_conda_specification(name, file_path)
参数
名称 | 说明 |
---|---|
name
必需
|
环境名称。 |
file_path
必需
|
conda 环境规范 YAML 文件路径。 |
返回
类型 | 说明 |
---|---|
环境对象。 |
from_docker_build_context
从 Docker 生成上下文创建环境对象。
static from_docker_build_context(name, docker_build_context)
参数
名称 | 说明 |
---|---|
name
必需
|
环境名称。 |
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
必需
|
环境名称。 |
image
必需
|
完全限定的映像名称。 |
conda_specification
|
conda 规范文件。 默认值: None
|
container_registry
|
专用容器存储库详细信息。 默认值: None
|
pip_requirements
|
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
必需
|
环境名称。 |
dockerfile
必需
|
Dockerfile 内容或文件的路径。 |
conda_specification
|
conda 规范文件。 默认值: None
|
pip_requirements
|
pip 要求文件。 默认值: None
|
返回
类型 | 说明 |
---|---|
环境对象。 |
from_existing_conda_environment
从本地现有 conda 环境创建环境对象。
若要获取现有 conda 环境的列表,请运行 conda env list
。 有关详细信息,请参阅 conda 用户指南中的管理环境。
static from_existing_conda_environment(name, conda_environment_name)
参数
名称 | 说明 |
---|---|
name
必需
|
环境名称。 |
conda_environment_name
必需
|
本地现有 conda 环境的名称。 |
返回
类型 | 说明 |
---|---|
如果导出 conda 规范文件失败,则返回环境对象或“无”。 |
from_pip_requirements
从 pip 要求文件创建环境对象。
如果未指定 pip_version,则将添加取消固定的 pip 依赖项。
static from_pip_requirements(name, file_path, pip_version=None)
参数
名称 | 说明 |
---|---|
name
必需
|
环境名称。 |
file_path
必需
|
pip 要求文件路径。 |
pip_version
|
conda 环境的 pip 版本。 默认值: None
|
返回
类型 | 说明 |
---|---|
环境对象。 |
get
返回环境对象。
如果指定了标签,则返回先前使用值标记的对象。 只能指定 version 或 label 参数之一。 如果这两个参数都缺失,则将返回环境对象的最新版本。
static get(workspace, name, version=None, label=None)
参数
名称 | 说明 |
---|---|
workspace
必需
|
包含环境的工作区。 |
name
必需
|
要返回的环境名称。 |
version
|
要返回的环境版本。 默认值: None
|
label
|
环境标签值。 默认值: None
|
返回
类型 | 说明 |
---|---|
环境对象。 |
get_image_details
返回映像详细信息。
get_image_details(workspace)
参数
名称 | 说明 |
---|---|
workspace
必需
|
工作区。 |
返回
类型 | 说明 |
---|---|
以字典形式返回映像详细信息 |
label
使用指定的值标记工作区中的环境对象。
static label(workspace, name, version, labels)
参数
名称 | 说明 |
---|---|
workspace
必需
|
工作区 |
name
必需
|
环境名称 |
version
必需
|
环境版本 |
labels
必需
|
用于标记环境的值 |
list
返回包含工作区中环境的字典。
static list(workspace)
参数
名称 | 说明 |
---|---|
workspace
必需
|
要从中列出环境的工作区。 |
返回
类型 | 说明 |
---|---|
<xref:builtin.dict>[str, Environment]
|
环境对象的字典。 |
load_from_directory
register
在工作区中注册环境对象。
register(workspace)
参数
名称 | 说明 |
---|---|
workspace
必需
|
工作区 |
name
必需
|
|
返回
类型 | 说明 |
---|---|
返回环境对象 |
save_to_directory
以易于编辑的格式将环境定义保存到目录。
save_to_directory(path, overwrite=False)
参数
名称 | 说明 |
---|---|
path
必需
|
目标目录的路径。 |
overwrite
|
是否覆盖现有目录。 默认值为 false。 默认值: False
|
属性
environment_variables
使用 azureml.core.RunConfiguration 对象设置运行时变量。