AmlCompute 类
在 Azure 机器学习中管理 Azure 机器学习计算。
Azure 机器学习计算(AmlCompute)是一种托管计算基础结构,可用于轻松创建单节点或多节点计算。 计算在工作区区域中创建为可与其他用户共享的资源。 有关详细信息,请参阅 什么是 Azure 机器学习中的计算目标?
类 ComputeTarget 构造函数。
检索与提供的工作区关联的计算对象的云表示形式。 返回与检索的计算对象的特定类型对应的子类的实例。
构造函数
AmlCompute(workspace, name)
参数
名称 | 说明 |
---|---|
workspace
必需
|
包含要检索的 AmlCompute 对象的工作区对象。 |
name
必需
|
要检索的 AmlCompute 对象的名称。 |
workspace
必需
|
包含要检索的 Compute 对象的工作区对象。 |
name
必需
|
要检索的 Compute 对象的名称。 |
注解
在以下示例中,将创建由 AmlCompute 其预配的持久性计算目标。
from azureml.core.compute import ComputeTarget, AmlCompute
from azureml.core.compute_target import ComputeTargetException
# Choose a name for your CPU cluster
cpu_cluster_name = "cpu-cluster"
# Verify that cluster does not exist already
try:
cpu_cluster = ComputeTarget(workspace=ws, name=cpu_cluster_name)
print('Found existing cluster, use it.')
except ComputeTargetException:
compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_D2_V2',
max_nodes=4)
cpu_cluster = ComputeTarget.create(ws, cpu_cluster_name, compute_config)
cpu_cluster.wait_for_completion(show_output=True)
方法
add_identity |
为此 AmlCompute 目标添加标识类型和/或标识 ID。 |
delete |
从其关联的工作区中删除 AmlCompute 对象。 |
deserialize |
将 JSON 对象转换为 AmlCompute 对象。 |
detach |
AmlCompute 对象不支持 Detach。 请改用 delete。 |
get |
返回计算对象。 |
get_active_runs |
返回此计算的运行生成器。 |
get_status |
检索 AmlCompute 群集的当前详细状态。 |
list_nodes |
获取计算目标中所有计算节点的详细信息(例如 IP 地址、端口等)。 |
list_quotas |
根据给定工作区和订阅的 VMFamily 获取当前分配的工作区配额。 |
list_usages |
获取当前使用情况信息以及给定工作区和订阅的 AML 资源限制。 |
provisioning_configuration |
创建用于预配 AmlCompute 目标的配置对象。 |
refresh_state |
对对象的属性执行就地更新。 此方法根据相应云对象的当前状态更新属性。 这主要用于手动轮询计算状态。 |
remove_identity |
删除计算中的标识。 |
serialize |
将此 AmlCompute 对象转换为 JSON 序列化字典。 |
supported_vmsizes |
列出区域中支持的 VM 大小。 |
update |
更新 ScaleSettings 此 AmlCompute 目标。 |
update_quotas |
更新工作区中 VM 系列的配额。 |
wait_for_completion |
等待 AmlCompute 群集完成预配。 这可以配置为等待最少的节点数,并在一定时间段后超时。 |
add_identity
为此 AmlCompute 目标添加标识类型和/或标识 ID。
add_identity(identity_type, identity_id=None)
参数
名称 | 说明 |
---|---|
identity_type
必需
|
可能的值为:
|
identity_id
|
用户分配标识的资源 ID 列表。 例如 ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity /userAssignedIdentities/'] 默认值: None
|
注解
仅当 identity_type == UserAssigned 时,才应指定identity_id
delete
从其关联的工作区中删除 AmlCompute 对象。
delete()
例外
类型 | 说明 |
---|---|
注解
如果此对象是通过 Azure 机器学习创建的,则也会删除相应的基于云的对象。 如果此对象是在外部创建的,并且仅附加到工作区,则此方法将引发且 ComputeTargetException 不会更改任何内容。
deserialize
将 JSON 对象转换为 AmlCompute 对象。
static deserialize(workspace, object_dict)
参数
名称 | 说明 |
---|---|
workspace
必需
|
与 AmlCompute 对象关联的工作区对象。 |
object_dict
必需
|
要转换为 AmlCompute 对象的 JSON 对象。 |
返回
类型 | 说明 |
---|---|
提供的 JSON 对象的 AmlCompute 表示形式。 |
例外
类型 | 说明 |
---|---|
注解
如果提供的工作区不是计算与之关联的工作区,则引发该 ComputeTargetException 工作区。
detach
get
返回计算对象。
get()
get_active_runs
返回此计算的运行生成器。
get_active_runs(type=None, tags=None, properties=None, status=None)
参数
名称 | 说明 |
---|---|
type
|
按提供的类型筛选返回的运行生成器。 请参阅 add_type_provider 创建运行类型。 默认值: None
|
tags
|
按“tag”或 {“tag”: “value”} 筛选运行 默认值: None
|
properties
|
筛选器按“property”或 {“property”: “value”} 运行 默认值: None
|
status
|
运行状态 - “正在运行” 或 “已排队” 默认值: None
|
返回
类型 | 说明 |
---|---|
<xref:builtin.generator>
|
~_restclient.models.RunDto 的生成器 |
get_status
list_nodes
list_quotas
list_usages
provisioning_configuration
创建用于预配 AmlCompute 目标的配置对象。
static provisioning_configuration(vm_size='', vm_priority='dedicated', min_nodes=0, max_nodes=None, idle_seconds_before_scaledown=1800, admin_username=None, admin_user_password=None, admin_user_ssh_key=None, vnet_resourcegroup_name=None, vnet_name=None, subnet_name=None, tags=None, description=None, remote_login_port_public_access='NotSpecified', identity_type=None, identity_id=None, ___location=None, enable_node_public_ip=True)
参数
名称 | 说明 |
---|---|
vm_size
必需
|
代理 VM 的大小。 可在以下位置找到更多详细信息:https://aka.ms/azureml-vm-details。 请注意,并非所有大小都可用于所有区域,如上一链接中所述。 如果未指定,则默认为Standard_NC6。 |
vm_priority
|
VM 优先级、 专用 或 低优先级。 默认值: dedicated
|
min_nodes
|
群集上使用的最小节点数。 如果未指定,则默认为 0。 默认值: 0
|
max_nodes
|
群集上使用的最大节点数。 如果未指定,则默认为 4。 默认值: None
|
idle_seconds_before_scaledown
|
在缩减群集之前,节点空闲时间(以秒为单位)。 如果未指定,则默认值为 1800。 默认值: 1800
|
admin_username
|
可用于通过 SSH 连接到节点的管理员用户帐户的名称。 默认值: None
|
admin_user_password
|
管理员用户帐户的密码。 默认值: None
|
admin_user_ssh_key
|
管理员用户帐户的 SSH 公钥。 默认值: None
|
vnet_resourcegroup_name
|
虚拟网络所在的资源组的名称。 默认值: None
|
vnet_name
|
虚拟网络的名称。 默认值: None
|
subnet_name
|
VNet 中子网的名称。 默认值: None
|
tags
|
要提供给计算对象的键值标记的字典。 默认值: None
|
description
|
用于向计算对象提供的说明。 默认值: None
|
remote_login_port_public_access
|
公共 SSH 端口的状态。 可能的值为:
默认值: NotSpecified
|
identity_type
|
可能的值为:
默认值: None
|
identity_id
|
用户分配标识的资源 ID 列表。 例如 ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/'] 默认值: None
|
___location
|
要在其中预配群集的位置。 默认值: None
|
enable_node_public_ip
|
启用节点公共 IP。 可能的值为:
默认值: True
|
返回
类型 | 说明 |
---|---|
创建计算对象时要使用的配置对象。 |
例外
类型 | 说明 |
---|---|
refresh_state
对对象的属性执行就地更新。
此方法根据相应云对象的当前状态更新属性。 这主要用于手动轮询计算状态。
refresh_state()
remove_identity
serialize
supported_vmsizes
update
更新 ScaleSettings 此 AmlCompute 目标。
update(min_nodes=None, max_nodes=None, idle_seconds_before_scaledown=None)
参数
名称 | 说明 |
---|---|
min_nodes
|
群集上使用的最小节点数。 默认值: None
|
max_nodes
|
群集上使用的最大节点数。 默认值: None
|
idle_seconds_before_scaledown
|
在缩减群集之前,节点空闲时间(以秒为单位)。 默认值: None
|
update_quotas
wait_for_completion
等待 AmlCompute 群集完成预配。
这可以配置为等待最少的节点数,并在一定时间段后超时。
wait_for_completion(show_output=False, min_node_count=None, timeout_in_minutes=25, is_delete_operation=False)
参数
名称 | 说明 |
---|---|
show_output
|
用于提供更详细输出的布尔值。 默认值: False
|
min_node_count
|
在考虑预配完成之前,要等待的最小节点数。 这不必等于为其预配计算的最小节点数,但不应大于该数目。 默认值: None
|
timeout_in_minutes
|
在考虑预配失败之前等待的持续时间(以分钟为单位)。 默认值: 25
|
is_delete_operation
|
指示作是否用于删除。 默认值: False
|
例外
类型 | 说明 |
---|---|