AmlCompute 类
在 Azure 机器学习中管理 Azure 机器学习计算。
Azure 机器学习计算 (AmlCompute) 是托管的计算基础结构,可轻松创建单节点或多节点计算。 该计算是在工作区区域内创建的资源,可与其他用户共享。 有关详细信息,请参阅什么是 Azure 机器学习中的计算目标?
类 ComputeTarget 构造函数。
检索与提供的工作区关联的 Compute 对象的云表示形式。 返回与检索的 Compute 对象的特定类型对应的子类的实例。
- 继承
-
AmlCompute
构造函数
AmlCompute(workspace, name)
参数
注解
在以下示例中,创建了由 AmlCompute 预配的持续计算目标。 此示例中的 provisioning_configuration
参数属于 AmlComputeProvisioningConfiguration 类型,它是 ComputeTargetProvisioningConfiguration 的子类。
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 对象不支持拆离。 请改用 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 |
更新此 AmlCompute 目标的 ScaleSettings。 |
update_quotas |
更新工作区中 VM 系列的配额。 |
wait_for_completion |
等待 AmlCompute 群集完成预配。 这可以配置为等待最小数量的节点,并在设定的时间段后超时。 |
add_identity
为此 AmlCompute 目标添加标识类型和/或标识 ID。
add_identity(identity_type, identity_id=None)
参数
用户分配标识的资源 ID 列表。 例如 ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity /userAssignedIdentities/']
注解
仅当 identity_type == UserAssigned 时,才应指定 identity_id
delete
从其关联的工作区删除 AmlCompute 对象。
delete()
例外
注解
如果此对象是通过 Azure 机器学习创建的,则相应的基于云的对象也将被删除。 如果此对象是在外部创建的,并且仅附加到工作区,则此方法会引发 ComputeTargetException 且不会进行任何更改。
deserialize
将 JSON 对象转换为 AmlCompute 对象。
static deserialize(workspace, object_dict)
参数
返回
所提供的 JSON 对象的 AmlCompute 表示形式。
返回类型
例外
注解
如果提供的工作区不是与计算关联的工作区,则引发 ComputeTargetException。
detach
get
返回计算对象。
get()
get_active_runs
为此计算返回运行的生成器。
get_active_runs(type=None, tags=None, properties=None, status=None)
参数
返回
~_restclient.models.RunDto 的生成器
返回类型
get_status
list_nodes
list_quotas
根据给定工作区和订阅的 VMFamily 获取当前分配的工作区配额。
static list_quotas(workspace, location=None)
参数
- workspace
- Workspace
返回
基于 VMFamily 的当前分配的工作区配额列表
返回类型
list_usages
获取给定工作区和订阅的 AML 资源的当前使用情况信息和限制。
static list_usages(workspace, show_all=False, location=None)
参数
- workspace
- Workspace
- show_all
指定是否需要子资源的详细用法。 默认为 False
返回
当前使用情况信息列表以及 AML 资源的限制
返回类型
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
- str
代理 VM 的大小。 此处提供了更多详细信息:https://aka.ms/azureml-vm-details。 请注意,并非所有大小都适用于所有区域,如上一个链接中所述。 如果未指定该项,则默认值为 Standard_NC6。
- remote_login_port_public_access
- str
公共 SSH 端口的状态。 可能的值包括:
已禁用 - 指示群集的所有节点上的公用 ssh 端口已关闭。
已启用 - 指示群集的所有节点上的公用 ssh 端口已打开。
NotSpecified - 指示如果定义了 VNet,则群集的所有节点上的公共 ssh 端口已关闭,否则将打开所有公共节点。 它只能在创建群集时作为此默认值。 创建后,它将被启用或禁用。
用户分配标识的资源 ID 列表。 例如 ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/']
- enable_node_public_ip
- bool
启用节点公共 IP。 可能的值包括:
True - 启用节点公共 IP。
False - 禁用节点公共 IP。
NotSpecified - 启用节点公共 IP。
返回
创建计算对象时要使用的配置对象。
返回类型
例外
refresh_state
执行对象属性的就地更新。
此方法根据相应云对象的当前状态更新属性。 这主要手动轮询计算状态。
refresh_state()
remove_identity
删除计算上的标识。
remove_identity(identity_id=None)
参数
注解
如果未指定 identity_id,则将自动删除系统分配的标识
serialize
supported_vmsizes
列出区域中支持的 VM 大小。
static supported_vmsizes(workspace, location=None)
参数
- workspace
- Workspace
返回
区域中支持的 VM 大小列表,其中包含 VM、VCPU 和 RAM 的名称。
返回类型
update
更新此 AmlCompute 目标的 ScaleSettings。
update(min_nodes=None, max_nodes=None, idle_seconds_before_scaledown=None)
参数
update_quotas
更新工作区中 VM 系列的配额。
static update_quotas(workspace, vm_family, limit=None, location=None)
参数
- workspace
- Workspace
wait_for_completion
等待 AmlCompute 群集完成预配。
这可以配置为等待最小数量的节点,并在设定的时间段后超时。
wait_for_completion(show_output=False, min_node_count=None, timeout_in_minutes=25, is_delete_operation=False)
参数
例外
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈