Environment 类
为机器学习试验配置可重现的 Python 环境。
环境定义机器学习试验中使用的 Python 包、环境变量和 Docker 设置,包括数据准备、训练和部署到 Web 服务。 环境在 Azure 机器学习 Workspace中管理和版本控制。 可以更新现有环境并检索要重复使用的版本。 环境是它们在其中创建的工作区的独占,不能在不同的工作区中使用。
有关环境的详细信息,请参阅 创建和管理可重用的环境。
类环境构造函数。
构造函数
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 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 环境的列表,请运行 |
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
必需
|
磁盘上本地 pip wheel 的路径,包括文件扩展名。 |
exist_ok
|
指示是否在滚轮已存在时引发异常。 默认值: False
|
返回
类型 | 说明 |
---|---|
返回 Azure Blob 存储上上传的 pip wheel 的完整 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
克隆环境对象。
返回具有新名称的环境对象的新实例。
clone(new_name)
参数
名称 | 说明 |
---|---|
new_name
必需
|
新建环境名称 |
返回
类型 | 说明 |
---|---|
新建环境对象 |
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
使用可选的 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
必需
|
环境名称。 |
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 规范文件失败,则环境对象或 None。 |
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
返回环境对象。
如果指定了标签,将返回以前使用该值标记的对象。 只能指定一个版本或标签参数。 如果两者均未命中,将返回最新版本的环境对象。
static get(workspace, name, version=None, label=None)
参数
名称 | 说明 |
---|---|
workspace
必需
|
包含环境的工作区。 |
name
必需
|
要返回的环境的名称。 |
version
|
要返回的环境的版本。 默认值: None
|
label
|
环境标签值。 默认值: None
|
返回
类型 | 说明 |
---|---|
环境对象。 |
get_image_details
返回图像详细信息。
get_image_details(workspace)
参数
名称 | 说明 |
---|---|
workspace
必需
|
工作区。 |
返回
类型 | 说明 |
---|---|
以听写的形式返回图像详细信息 |
label
list
返回包含工作区中的环境的字典。
static list(workspace)
参数
名称 | 说明 |
---|---|
workspace
必需
|
要从中列出环境的工作区。 |
返回
类型 | 说明 |
---|---|
<xref:builtin.dict>[str, Environment]
|
环境对象的字典。 |
load_from_directory
register
在工作区中注册环境对象。
register(workspace)
参数
名称 | 说明 |
---|---|
workspace
必需
|
工作区 |
name
必需
|
|
返回
类型 | 说明 |
---|---|
返回环境对象 |
save_to_directory
属性
environment_variables
使用 azureml.core.RunConfiguration 对象设置运行时变量。