AmlCompute クラス
Azure Machine Learning で Azure Machine Learning コンピューティングを管理します。
Azure Machine Learning コンピューティング (AmlCompute) は、シングルノードまたはマルチノードのコンピューティングを簡単に作成できるマネージド コンピューティング インフラストラクチャです。 コンピューティングは、リソースとしてワークスペース リージョン内に作成され、他のユーザーと共有できます。 詳細については、Azure Machine Learning でのコンピューティング先 に関する記事をご覧ください。
ComputeTarget クラスのコンストラクター。
指定されたワークスペースに関連付けられている Compute オブジェクトのクラウド表現を取得します。 取得した Compute オブジェクトの特定の型に対応する子クラスのインスタンスを返します。
- 継承
-
AmlCompute
コンストラクター
AmlCompute(workspace, name)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
取得する AmlCompute オブジェクトを含むワークスペース オブジェクト。 |
name
必須
|
取得する AmlCompute オブジェクトの名前。 |
workspace
必須
|
取得する Compute オブジェクトを含むワークスペース オブジェクト。 |
name
必須
|
取得する 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
必須
|
次のいずれかの値になります。
|
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
get
コンピューティング オブジェクトを返します。
get()
get_active_runs
このコンピューティングの実行ジェネレーターを返します。
get_active_runs(type=None, tags=None, properties=None, status=None)
パラメーター
名前 | 説明 |
---|---|
type
|
返された実行ジェネレーターを、指定された種類でフィルター処理します。 実行の種類の作成については、add_type_provider を参照してください。 規定値: None
|
tags
|
"tag" または {"tag": "value"} で実行をフィルター処理 規定値: None
|
properties
|
"property" または {"property": "value"} で実行をフィルター処理 規定値: None
|
status
|
実行状態 - "Running" または "Queued" 規定値: None
|
戻り値
型 | 説明 |
---|---|
<xref:builtin.generator>
|
~_restclient.models.RunDto のジェネレーター |
get_status
list_nodes
コンピューティング 先のすべてのコンピューティング ノードの詳細 (IP アドレス、ポートなど) を取得します。
list_nodes()
戻り値
型 | 説明 |
---|---|
コンピューティング先のすべてのコンピューティング ノードの詳細。 |
list_quotas
特定のワークスペースおよびサブスクリプションについて、VMFamily に基づいて現在割り当てられているワークスペース クォータを取得します。
static list_quotas(workspace, location=None)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
|
location
|
クォータの場所。 指定しない場合、既定でワークスペースの場所になります。 規定値: None
|
戻り値
型 | 説明 |
---|---|
VMFamily に基づいて現在割り当てられているワークスペース クォータの一覧 |
list_usages
特定のワークスペースおよびサブスクリプションについて、AML リソースに関する現在の使用状況の情報と制限を取得します。
static list_usages(workspace, show_all=False, location=None)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
|
show_all
|
子リソースの詳細な使用状況が必要な場合に指定します。 既定値は False です 規定値: False
|
location
|
リソースの場所。 指定しない場合、既定でワークスペースの場所になります。 規定値: 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
必須
|
エージェント VM のサイズ。 詳細については、https://aka.ms/azureml-vm-details を参照してください。 前のリンクで詳しく説明されているように、すべてのリージョンですべてのサイズが利用できるわけではないことに注意してください。 指定しない場合、既定値は Standard_NC6 です。 |
vm_priority
|
VM 優先度、dedicated または lowpriority。 規定値: dedicated
|
min_nodes
|
クラスターで使用するノードの最小数。 指定しない場合、既定値は 0 です。 規定値: 0
|
max_nodes
|
クラスターで使用するノードの最大数。 指定しない場合、既定値は 4 です。 規定値: None
|
idle_seconds_before_scaledown
|
クラスターをスケールダウンするまでのノードのアイドル時間 (秒)。 指定しない場合、既定値は 1800 です。 規定値: 1800
|
admin_username
|
ノードへの SSH 接続に使用できる管理者のユーザー アカウントの名前。 規定値: None
|
admin_user_password
|
管理者のユーザー アカウントのパスワード。 規定値: None
|
admin_user_ssh_key
|
管理者ユーザー アカウントの SSH 公開キー。 規定値: None
|
vnet_resourcegroup_name
|
仮想ネットワークが配置されているリソース グループの名前。 規定値: None
|
vnet_name
|
仮想ネットワークの名前。 規定値: None
|
subnet_name
|
VNet 内のサブネットの名前。 規定値: None
|
tags
|
コンピューティング オブジェクトに提供されるキー値タグの辞書。 規定値: None
|
description
|
コンピューティング オブジェクトに提供される説明。 規定値: None
|
remote_login_port_public_access
|
パブリック SSH ポートの状態。 次のいずれかの値になります。
規定値: NotSpecified
|
identity_type
|
次のいずれかの値になります。
規定値: None
|
identity_id
|
ユーザー割り当て ID のリソース ID の一覧。 例: ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/'] 規定値: None
|
location
|
クラスターをプロビジョニングする場所。 規定値: None
|
enable_node_public_ip
|
ノードのパブリック 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
|
クラスターの場所。 指定されていない場合は、既定のワークスペースの場所になります。 規定値: None
|
戻り値
型 | 説明 |
---|---|
リージョン内でサポートされている VM のサイズと、VM の名前、VCPU、RAM の一覧。 |
update
この AmlCompute ターゲットの ScaleSettings を更新します。
update(min_nodes=None, max_nodes=None, idle_seconds_before_scaledown=None)
パラメーター
名前 | 説明 |
---|---|
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
必須
|
|
vm_family
必須
|
VM ファミリ名 |
limit
|
リソースの許容される最大クォータ 規定値: None
|
location
|
クォータの場所。 指定しない場合、既定でワークスペースの場所になります。 規定値: 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
|
プロビジョニングを完了と見なす前に待機するノードの最小数。 これは、コンピューティングがプロビジョニングされたノードの最小数と等しくする必要はありませんが、それを超えることはできません。 規定値: None
|
timeout_in_minutes
|
プロビジョニングが失敗したと見なす前に待機する時間 (分)。 規定値: 25
|
is_delete_operation
|
操作が削除を目的としたものであるかどうかを示します。 規定値: False
|
例外
型 | 説明 |
---|---|