ComputeTarget 类
Azure 机器学习管理的所有计算目标的抽象父类。
“计算目标”是用来运行训练脚本或托管服务部署的指定计算资源/环境。 此位置可以是你的本地计算机,也可以是基于云的计算资源。 有关详细信息,请参阅什么是 Azure 机器学习中的计算目标?
类 ComputeTarget 构造函数。
检索与提供的工作区关联的 Compute 对象的云表示形式。 返回与检索的 Compute 对象的特定类型对应的子类的实例。
- 继承
-
ComputeTarget
构造函数
ComputeTarget(workspace, name)
参数
名称 | 说明 |
---|---|
workspace
必需
|
包含要检索的 Compute 对象的工作区对象。 |
name
必需
|
要检索的 Compute 对象的名称。 |
workspace
必需
|
包含要检索的 Compute 对象的工作区对象。 |
name
必需
|
要检索的 Compute 对象的 的名称。 |
注解
使用 ComputeTarget 构造函数检索与提供的工作区关联的 Compute 对象的云表示形式。 构造函数会返回一个与检索到的特定类型的 Compute 对象对应的子类实例。 如果未找到 Compute 对象,则引发 ComputeTargetException。
方法
attach |
使用指定的名称和配置信息将 Compute 对象附加到工作区。 |
create |
通过指定计算类型和相关配置来预配 Compute 对象。 此方法创建新的计算目标,而不是附加现有计算目标。 |
delete |
从其关联的工作区删除 Compute 对象。 由 ComputeTarget 的子类实现此抽象方法。 |
deserialize |
将 JSON 对象转换为 Compute 对象。 |
detach |
从关联的工作区拆离 Compute 对象。 由 ComputeTarget 的子类实现此抽象方法。 不会删除基础云对象,只会删除其关联。 |
get_status |
检索 Compute 对象的当前预配状态。 |
list |
列出工作区内的所有 ComputeTarget 对象。 返回与特定计算类型相对应的实例化子对象的列表。 对象是 ComputeTarget 的子对象。 |
refresh_state |
执行对象属性的就地更新。 根据相应云对象的当前状态更新属性。 主要用于手动轮询计算状态。 由 ComputeTarget 的子类实现此抽象方法。 |
serialize |
将此 Compute 对象转换为 JSON 序列化字典。 |
wait_for_completion |
等待当前预配操作在群集上完成。 如果在轮询 Compute 对象时出现问题,此方法将返回 ComputeTargetException。 |
attach
使用指定的名称和配置信息将 Compute 对象附加到工作区。
static attach(workspace, name, attach_configuration)
参数
名称 | 说明 |
---|---|
workspace
必需
|
要附加 Compute 对象的工作区对象。 |
name
必需
|
要与 Compute 对象关联的名称。 |
attach_configuration
必需
|
ComputeTargetAttachConfiguration 对象,用于确定要附加的 Compute 对象的类型及其配置方式。 |
返回
类型 | 说明 |
---|---|
与附加的对象类型对应的 ComputeTarget 子级的实例。 |
例外
类型 | 说明 |
---|---|
注解
要传递给 attach_configuration
参数的对象的类型是使用 ComputeTarget 的任何子类上的 attach_configuration
函数构建的 ComputeTargetAttachConfiguration 对象。
下面的示例演示如何使用 AdlaCompute 的 attach_configuration 方法将 ADLA 帐户附加到工作区。
adla_compute_name = 'testadl' # Name to associate with new compute in workspace
# ADLA account details needed to attach as compute to workspace
adla_account_name = "<adla_account_name>" # Name of the Azure Data Lake Analytics account
adla_resource_group = "<adla_resource_group>" # Name of the resource group which contains this account
try:
# check if already attached
adla_compute = AdlaCompute(ws, adla_compute_name)
except ComputeTargetException:
print('attaching adla compute...')
attach_config = AdlaCompute.attach_configuration(resource_group=adla_resource_group, account_name=adla_account_name)
adla_compute = ComputeTarget.attach(ws, adla_compute_name, attach_config)
adla_compute.wait_for_completion()
print("Using ADLA compute:{}".format(adla_compute.cluster_resource_id))
print("Provisioning state:{}".format(adla_compute.provisioning_state))
print("Provisioning errors:{}".format(adla_compute.provisioning_errors))
create
通过指定计算类型和相关配置来预配 Compute 对象。
此方法创建新的计算目标,而不是附加现有计算目标。
static create(workspace, name, provisioning_configuration)
参数
名称 | 说明 |
---|---|
workspace
必需
|
要创建 Compute 对象的工作区对象。 |
name
必需
|
要与 Compute 对象关联的名称。 |
provisioning_configuration
必需
|
ComputeTargetProvisioningConfiguration 对象,用于确定要预配的 Compute 对象的类型及其配置方式。 |
返回
类型 | 说明 |
---|---|
与预配的对象类型对应的 ComputeTarget 子级的实例。 |
例外
类型 | 说明 |
---|---|
注解
预配的对象类型由提供的预配配置确定。
在以下示例中,创建了由 AmlCompute 预配的持续计算目标。 此示例中的 provisioning_configuration
参数的类型为 AmlComputeProvisioningConfiguration。
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)
delete
从其关联的工作区删除 Compute 对象。
由 ComputeTarget 的子类实现此抽象方法。
abstract delete()
例外
类型 | 说明 |
---|---|
注解
如果此对象是通过 Azure 机器学习创建的,则相应的基于云的对象也将被删除。 如果此对象是在外部创建的,并且仅附加到工作区,则此方法会引发异常且不会进行任何更改。
deserialize
将 JSON 对象转换为 Compute 对象。
abstract static deserialize(workspace, object_dict)
参数
名称 | 说明 |
---|---|
workspace
必需
|
Compute 对象关联的工作区对象。 |
object_dict
必需
|
要转换为 Compute 对象的 JSON 对象。 |
返回
类型 | 说明 |
---|---|
所提供的 JSON 对象的 Compute 表示形式。 |
例外
类型 | 说明 |
---|---|
注解
如果提供的工作区不是与计算关联的工作区,则引发 ComputeTargetException。
detach
get_status
检索 Compute 对象的当前预配状态。
get_status()
返回
类型 | 说明 |
---|---|
当前的 |
例外
类型 | 说明 |
---|---|
注解
返回的值在 Azure REST API Reference for ProvisioningState 中列出。
list
列出工作区内的所有 ComputeTarget 对象。
返回与特定计算类型相对应的实例化子对象的列表。 对象是 ComputeTarget 的子对象。
static list(workspace)
参数
名称 | 说明 |
---|---|
workspace
必需
|
包含要列出对象的工作区对象。 |
返回
类型 | 说明 |
---|---|
工作区中的计算目标列表。 |
例外
类型 | 说明 |
---|---|
refresh_state
执行对象属性的就地更新。
根据相应云对象的当前状态更新属性。 主要用于手动轮询计算状态。
由 ComputeTarget 的子类实现此抽象方法。
abstract refresh_state()
例外
类型 | 说明 |
---|---|
serialize
将此 Compute 对象转换为 JSON 序列化字典。
abstract serialize()
返回
类型 | 说明 |
---|---|
此 Compute 对象的 JSON 表示形式。 |
例外
类型 | 说明 |
---|---|
wait_for_completion
等待当前预配操作在群集上完成。
如果在轮询 Compute 对象时出现问题,此方法将返回 ComputeTargetException。
wait_for_completion(show_output=False, is_delete_operation=False)
参数
名称 | 说明 |
---|---|
show_output
|
指示是否提供更详细的输出。 默认值: False
|
is_delete_operation
|
指示操作是否用于删除。 默认值: False
|
例外
类型 | 说明 |
---|---|