AmlCompute クラス

Azure Machine Learning で Azure Machine Learning コンピューティングを管理します。

Azure Machine Learning コンピューティング (AmlCompute) は、シングルノードまたはマルチノードのコンピューティングを簡単に作成できるマネージド コンピューティング インフラストラクチャです。 コンピューティングは、リソースとしてワークスペース リージョン内に作成され、他のユーザーと共有できます。 詳細については、Azure Machine Learning でのコンピューティング先 に関する記事をご覧ください。

ComputeTarget クラスのコンストラクター。

指定されたワークスペースに関連付けられている Compute オブジェクトのクラウド表現を取得します。 取得した Compute オブジェクトの特定の型に対応する子クラスのインスタンスを返します。

継承
AmlCompute

コンストラクター

AmlCompute(workspace, name)

パラメーター

workspace
Workspace
必須

取得する AmlCompute オブジェクトを含むワークスペース オブジェクト。

name
str
必須

取得する AmlCompute オブジェクトの名前。

workspace
Workspace
必須

取得する Compute オブジェクトを含むワークスペース オブジェクト。

name
str
必須

取得する Compute オブジェクトの 名前。

注釈

次の例では、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)

完全なサンプルは、https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/training/train-on-amlcompute/train-on-amlcompute.ipynb から入手できます

メソッド

add_identity

この AmlCompute ターゲットの ID の種類および識別 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

コンピューティング上の ID を削除します。

serialize

この AmlCompute オブジェクトを JSON のシリアル化されたディクショナリに変換します。

supported_vmsizes

リージョンでサポートされている VM のサイズを一覧表示します。

update

この AmlCompute ターゲットの ScaleSettings を更新します。

update_quotas

ワークスペース内の VM ファミリのクォータを更新します。

wait_for_completion

AmlCompute クラスターのプロビジョニングが完了するまで待機します。

これは、最小数のノードを待機し、設定された時間が経過するとタイムアウトするように構成できます。

add_identity

この AmlCompute ターゲットの ID の種類および識別 ID を追加します。

add_identity(identity_type, identity_id=None)

パラメーター

identity_type
string
必須

次のいずれかの値になります。

  • SystemAssigned - システム割り当て ID

  • UserAssigned - ユーザー割り当て ID。 識別 ID を設定する必要があります。

identity_id
list[str]
既定値: None

ユーザー割り当て ID のリソース ID の一覧。 例: ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity /userAssignedIdentities/']

注釈

identity_id は、identity_type == UserAssigned の場合のみ指定できます

delete

その関連付けられているワークスペースから AmlCompute を削除します。

delete()

例外

注釈

このオブジェクトが Azure Machine Learning によって作成された場合は、対応するクラウド ベースのオブジェクトも削除されます。 このオブジェクトが外部で作成され、ワークスペースにアタッチされているだけの場合、このメソッドによって ComputeTargetException が発生し、何も変更されません。

deserialize

JSON オブジェクトを AmlCompute オブジェクトに変換します。

static deserialize(workspace, object_dict)

パラメーター

workspace
Workspace
必須

AmlCompute オブジェクトが関連付けられているワークスペース オブジェクト。

object_dict
dict
必須

AmlCompute オブジェクトに変換する JSON オブジェクト。

戻り値

指定された JSON オブジェクトの AmlCompute 表現。

の戻り値の型 :

例外

注釈

指定されたワークスペースが、Compute が関連付けられているワークスペースでない場合、ComputeTargetException を発生させます。

detach

AmlCompute オブジェクトでは、デタッチはサポートされていません。 代わりに delete を使用してください

detach()

例外

get

コンピューティング オブジェクトを返します。

get()

get_active_runs

このコンピューティングの実行ジェネレーターを返します。

get_active_runs(type=None, tags=None, properties=None, status=None)

パラメーター

type
str
既定値: None

返された実行ジェネレーターを、指定された種類でフィルター処理します。 実行の種類の作成については、add_type_provider を参照してください。

tags
str または dict
既定値: None

"tag" または {"tag": "value"} で実行をフィルター処理

properties
str または dict
既定値: None

"property" または {"property": "value"} で実行をフィルター処理

status
str
既定値: None

実行状態 - "Running" または "Queued"

戻り値

~_restclient.models.RunDto のジェネレーター

の戻り値の型 :

<xref:builtin.generator>

get_status

AmlCompute クラスターの現在の詳細な状態を取得します。

get_status()

戻り値

クラスターの詳細な状態オブジェクト

の戻り値の型 :

list_nodes

コンピューティング ターゲット内のすべてのコンピューティング ノードの詳細 (IP アドレス、ポートなど) を取得します。

list_nodes()

戻り値

コンピューティング先のすべてのコンピューティング ノードの詳細。

の戻り値の型 :

list_quotas

特定のワークスペースおよびサブスクリプションについて、VMFamily に基づいて現在割り当てられているワークスペース クォータを取得します。

static list_quotas(workspace, location=None)

パラメーター

workspace
Workspace
必須
location
str
既定値: None

クォータの場所。 指定しない場合、既定でワークスペースの場所になります。

戻り値

VMFamily に基づいて現在割り当てられているワークスペース クォータの一覧

の戻り値の型 :

list_usages

特定のワークスペースおよびサブスクリプションについて、AML リソースに関する現在の使用状況の情報と制限を取得します。

static list_usages(workspace, show_all=False, location=None)

パラメーター

workspace
Workspace
必須
show_all
既定値: False

子リソースの詳細な使用状況が必要な場合に指定します。 既定値は False です

location
str
既定値: None

リソースの場所。 指定しない場合、既定でワークスペースの場所になります。

戻り値

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 です。

vm_priority
str
既定値: dedicated

VM 優先度、dedicated または lowpriority

min_nodes
int
既定値: 0

クラスターで使用するノードの最小数。 指定しない場合、既定値は 0 です。

max_nodes
int
既定値: None

クラスターで使用するノードの最大数。 指定しない場合、既定値は 4 です。

idle_seconds_before_scaledown
int
既定値: 1800

クラスターをスケールダウンするまでのノードのアイドル時間 (秒)。 指定しない場合、既定値は 1800 です。

admin_username
str
既定値: None

ノードへの SSH 接続に使用できる管理者のユーザー アカウントの名前。

admin_user_password
str
既定値: None

管理者のユーザー アカウントのパスワード。

admin_user_ssh_key
str
既定値: None

管理者ユーザー アカウントの SSH 公開キー。

vnet_resourcegroup_name
str
既定値: None

仮想ネットワークが配置されているリソース グループの名前。

vnet_name
str
既定値: None

仮想ネットワークの名前。

subnet_name
str
既定値: None

VNet 内のサブネットの名前。

tags
dict[str, str]
既定値: None

コンピューティング オブジェクトに提供されるキー値タグの辞書。

description
str
既定値: None

コンピューティング オブジェクトに提供される説明。

remote_login_port_public_access
str
既定値: NotSpecified

パブリック SSH ポートの状態。 次のいずれかの値になります。

  • Disabled - クラスターのすべてのノードでパブリック SSH ポートが閉じられていることを示します。

  • Enabled - クラスターのすべてのノードでパブリック SSH ポートが開かれていることを示します。

  • NotSpecified - VNet が定義されている場合は、クラスターのすべてのノードでパブリック SSH ポートが閉じられていることを示します。それ以外の場合は、すべてのパブリック ノードが開かれている状態です。 この既定値は、クラスターの作成時にのみ定義できます。 作成後は、enabled または disabled のいずれかになります。

identity_type
string
既定値: None

次のいずれかの値になります。

  • SystemAssigned - システム割り当て ID

  • UserAssigned - ユーザー割り当て ID。 識別 ID を設定する必要があります。

identity_id
list[str]
既定値: None

ユーザー割り当て ID のリソース ID の一覧。 例: ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/']

location
str
既定値: None

クラスターをプロビジョニングする場所。

enable_node_public_ip
bool
既定値: True

ノードのパブリック IP を有効にします。 次のいずれかの値になります。

  • True - ノードのパブリック IP を有効にします。

  • False - ノードのパブリック IP を無効にします。

  • NotSpecified - ノードのパブリック IP を有効にします。

戻り値

Compute オブジェクトの作成時に使用される構成オブジェクト。

の戻り値の型 :

例外

refresh_state

オブジェクトのプロパティのインプレース更新を実行します。

このメソッドは、対応するクラウド オブジェクトの現在の状態に基づいてプロパティを更新します。 これは主に、コンピューティング状態の手動ポーリングに使用されます。

refresh_state()

remove_identity

コンピューティング上の ID を削除します。

remove_identity(identity_id=None)

パラメーター

identity_id
list[str]
既定値: None

ユーザー割り当て ID

注釈

identity_id が指定されていない場合、システム割り当て ID は自動的に削除されます

serialize

この AmlCompute オブジェクトを JSON のシリアル化されたディクショナリに変換します。

serialize()

戻り値

この AmlCompute オブジェクトの JSON 表現。

の戻り値の型 :

supported_vmsizes

リージョンでサポートされている VM のサイズを一覧表示します。

static supported_vmsizes(workspace, location=None)

パラメーター

workspace
Workspace
必須
location
str
既定値: None

クラスターの場所。 指定されていない場合は、既定のワークスペースの場所になります。

戻り値

リージョン内でサポートされている VM のサイズと、VM の名前、VCPU、RAM の一覧。

の戻り値の型 :

update

この AmlCompute ターゲットの ScaleSettings を更新します。

update(min_nodes=None, max_nodes=None, idle_seconds_before_scaledown=None)

パラメーター

min_nodes
int
既定値: None

クラスターで使用するノードの最小数。

max_nodes
int
既定値: None

クラスターで使用するノードの最大数。

idle_seconds_before_scaledown
int
既定値: None

クラスターをスケールダウンするまでのノードのアイドル時間 (秒)。

update_quotas

ワークスペース内の VM ファミリのクォータを更新します。

static update_quotas(workspace, vm_family, limit=None, location=None)

パラメーター

workspace
Workspace
必須
vm_family
str
必須

VM ファミリ名

limit
int
既定値: None

リソースの許容される最大クォータ

location
str
既定値: None

クォータの場所。 指定しない場合、既定でワークスペースの場所になります。

wait_for_completion

AmlCompute クラスターのプロビジョニングが完了するまで待機します。

これは、最小数のノードを待機し、設定された時間が経過するとタイムアウトするように構成できます。

wait_for_completion(show_output=False, min_node_count=None, timeout_in_minutes=25, is_delete_operation=False)

パラメーター

show_output
bool
既定値: False

より詳細な出力を提供するブール値。

min_node_count
int
既定値: None

プロビジョニングを完了と見なす前に待機するノードの最小数。 これは、コンピューティングがプロビジョニングされたノードの最小数と等しくする必要はありませんが、それを超えることはできません。

timeout_in_minutes
int
既定値: 25

プロビジョニングが失敗したと見なす前に待機する時間 (分)。

is_delete_operation
bool
既定値: False

操作が削除を目的としたものであるかどうかを示します。

例外