AmlCompute クラス

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

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

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

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

継承
AmlCompute

コンストラクター

AmlCompute(workspace, name)

パラメーター

名前 説明
workspace
必須

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

name
必須
str

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

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
必須

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

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

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

identity_id

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

規定値: None

注釈

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

delete

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

delete()

例外

説明

注釈

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

deserialize

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

static deserialize(workspace, object_dict)

パラメーター

名前 説明
workspace
必須

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

object_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

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

規定値: None
tags
str または dict

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

規定値: None
properties
str または dict

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

規定値: None
status
str

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

規定値: None

戻り値

説明
<xref:builtin.generator>

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

get_status

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

get_status()

戻り値

説明

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

list_nodes

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

list_nodes()

戻り値

説明

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

list_quotas

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

static list_quotas(workspace, location=None)

パラメーター

名前 説明
workspace
必須
location
str

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

規定値: None

戻り値

説明

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

list_usages

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

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

パラメーター

名前 説明
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

VM 優先度、dedicated または lowpriority

規定値: dedicated
min_nodes
int

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

規定値: 0
max_nodes
int

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

規定値: None
idle_seconds_before_scaledown
int

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

規定値: 1800
admin_username
str

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

規定値: None
admin_user_password
str

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

規定値: None
admin_user_ssh_key
str

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

規定値: None
vnet_resourcegroup_name
str

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

規定値: None
vnet_name
str

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

規定値: None
subnet_name
str

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

規定値: None
tags

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

規定値: None
description
str

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

規定値: None
remote_login_port_public_access
str

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

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

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

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

規定値: NotSpecified
identity_type

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

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

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

規定値: None
identity_id

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

規定値: None
location
str

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

規定値: None
enable_node_public_ip

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

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

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

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

規定値: True

戻り値

説明

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

例外

説明

refresh_state

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

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

refresh_state()

remove_identity

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

remove_identity(identity_id=None)

パラメーター

名前 説明
identity_id

ユーザー割り当て ID

規定値: None

注釈

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

serialize

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

serialize()

戻り値

説明

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

supported_vmsizes

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

static supported_vmsizes(workspace, location=None)

パラメーター

名前 説明
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
必須
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

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

規定値: False
min_node_count
int

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

規定値: None
timeout_in_minutes
int

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

規定値: 25
is_delete_operation

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

規定値: False

例外

説明