ComputeTarget 类
Azure 机器学习管理的所有计算目标的抽象父类。
计算目标是指定的计算资源/环境,可在其中运行训练脚本或托管服务部署。 此位置可以是你的本地计算机,也可以是基于云的计算资源。 有关详细信息,请参阅 什么是 Azure 机器学习中的计算目标?
类 ComputeTarget 构造函数。
检索与提供的工作区关联的计算对象的云表示形式。 返回与检索的计算对象的特定类型对应的子类的实例。
构造函数
ComputeTarget(workspace, name)
参数
名称 | 说明 |
---|---|
workspace
必需
|
包含要检索的 Compute 对象的工作区对象。 |
name
必需
|
要检索的 Compute 对象的名称。 |
workspace
必需
|
包含要检索的 Compute 对象的工作区对象。 |
name
必需
|
要检索的 Compute 对象的名称。 |
注解
使用 ComputeTarget 构造函数检索与提供的工作区关联的 Compute 对象的云表示形式。 构造函数返回与检索的计算对象的特定类型对应的子类的实例。 如果未找到 Compute 对象,则会引发 a ComputeTargetException 。
方法
attach |
使用指定的名称和配置信息将计算对象附加到工作区。 |
create |
通过指定计算类型和相关配置来预配计算对象。 此方法创建新的计算目标,而不是附加现有计算目标。 |
delete |
从其关联的工作区中删除 Compute 对象。 此抽象方法由子 ComputeTarget类实现。 |
deserialize |
将 JSON 对象转换为计算对象。 |
detach |
从其关联的工作区中分离计算对象。 此抽象方法由子 ComputeTarget类实现。 基础云对象不会被删除,只会删除其关联。 |
get_status |
检索计算对象的当前预配状态。 |
list |
列出工作区中的所有 ComputeTarget 对象。 返回对应于特定类型的计算的实例化子对象的列表。 对象是 . 的 ComputeTarget子级。 |
refresh_state |
对对象的属性执行就地更新。 根据相应云对象的当前状态更新属性。 这对于手动轮询计算状态非常有用。 此抽象方法由子 ComputeTarget类实现。 |
serialize |
将此计算对象转换为 JSON 序列化字典。 |
wait_for_completion |
等待当前预配作在群集上完成。 如果轮询计算对象时出现问题,此方法将返回一个 ComputeTargetException 。 |
attach
使用指定的名称和配置信息将计算对象附加到工作区。
static attach(workspace, name, attach_configuration)
参数
名称 | 说明 |
---|---|
workspace
必需
|
要向其附加计算对象的工作区对象。 |
name
必需
|
要与 Compute 对象关联的名称。 |
attach_configuration
必需
|
一个 ComputeTargetAttachConfiguration 对象,用于确定要附加的 Compute 对象的类型以及如何对其进行配置。 |
返回
类型 | 说明 |
---|---|
对应于附加对象的类型的 ComputeTarget 子对象的实例。 |
例外
类型 | 说明 |
---|---|
注解
要传递给参数 attach_configuration
的对象的类型是一个 ComputeTargetAttachConfiguration 对象,该对象是使用该 attach_configuration
函数在任何子类 ComputeTarget上生成的对象。
以下示例演示如何使用 attach_configuration AdlaCompute 的方法将 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
通过指定计算类型和相关配置来预配计算对象。
此方法创建新的计算目标,而不是附加现有计算目标。
static create(workspace, name, provisioning_configuration)
参数
名称 | 说明 |
---|---|
workspace
必需
|
要创建计算对象的工作区对象。 |
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 对象转换为计算对象。
abstract static deserialize(workspace, object_dict)
参数
名称 | 说明 |
---|---|
workspace
必需
|
计算对象与之关联的工作区对象。 |
object_dict
必需
|
要转换为计算对象的 JSON 对象。 |
返回
类型 | 说明 |
---|---|
提供的 JSON 对象的计算表示形式。 |
注解
如果提供的工作区不是计算与之关联的工作区,则引发该 ComputeTargetException 工作区。
detach
get_status
检索计算对象的当前预配状态。
get_status()
返回
类型 | 说明 |
---|---|
当前 |
注解
返回的值列在 ProvisioningState 的 Azure REST API 参考中。
list
列出工作区中的所有 ComputeTarget 对象。
返回对应于特定类型的计算的实例化子对象的列表。 对象是 . 的 ComputeTarget子级。
static list(workspace)
参数
名称 | 说明 |
---|---|
workspace
必需
|
包含要列出的对象的工作区对象。 |
返回
类型 | 说明 |
---|---|
工作区中的计算目标列表。 |
例外
类型 | 说明 |
---|---|
refresh_state
serialize
wait_for_completion
等待当前预配作在群集上完成。
如果轮询计算对象时出现问题,此方法将返回一个 ComputeTargetException 。
wait_for_completion(show_output=False, is_delete_operation=False)
参数
名称 | 说明 |
---|---|
show_output
|
指示是否提供更详细的输出。 默认值: False
|
is_delete_operation
|
指示作是否用于删除。 默认值: False
|
例外
类型 | 说明 |
---|---|