AmlCompute Klasse
Dient zum Verwalten eines Azure Machine Learning-Computeziels in Azure Machine Learning.
Azure Machine Learning Compute (AmlCompute) ist eine verwaltete Computeinfrastruktur, die Ihnen das einfache Erstellen von Computezielen mit einem oder mehreren Knoten ermöglicht. Das Computeziel wird in Ihrer Arbeitsbereichsregion als Ressource erstellt, die für andere Benutzer freigegeben werden kann. Weitere Informationen finden Sie unter Was sind Computeziele in Azure Machine Learning?.
ComputeTarget-Konstruktor der Klasse.
Rufen Sie eine Clouddarstellung eines Compute-Objekts ab, das dem bereitgestellten Arbeitsbereich zugeordnet ist. Gibt einen instance einer untergeordneten Klasse zurück, die dem spezifischen Typ des abgerufenen Compute-Objekts entspricht.
- Vererbung
-
AmlCompute
Konstruktor
AmlCompute(workspace, name)
Parameter
Name | Beschreibung |
---|---|
workspace
Erforderlich
|
Das Workspace-Objekt, das das abzurufende AmlCompute-Objekt enthält. |
name
Erforderlich
|
Der Name des abzurufenden AmlCompute-Objekts. |
workspace
Erforderlich
|
Das Workspace-Objekt, das das abzurufende Compute-Objekt enthält. |
name
Erforderlich
|
Der Name des abzurufenden Compute-Objekts. |
Hinweise
Im folgenden Beispiel wird ein persistentes, von AmlCompute bereitgestelltes Computeziel erstellt. Der provisioning_configuration
-Parameter in diesem Beispiel ist vom Typ AmlComputeProvisioningConfiguration (eine untergeordnete Klasse von 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)
Das vollständige Beispiel finden Sie unter https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/training/train-on-amlcompute/train-on-amlcompute.ipynb.
Methoden
add_identity |
Hinzufügen des Identitätstyps und/oder der Identitäts-IDs für dieses AmlCompute-Ziel. |
delete |
Entfernen des AmlCompute-Objekts aus dem zugeordneten Arbeitsbereich. |
deserialize |
Konvertieren eines JSON-Objekts in ein AmlCompute-Objekt. |
detach |
„detach“ (Trennen) wird für ein AmlCompute-Objekt nicht unterstützt. Verwenden Sie stattdessen delete. |
get |
Dient zum Zurückgeben des Compute-Objekts. |
get_active_runs |
Dient zum Zurückgeben eines Generators der Ausführungen für diese Computeressource. |
get_status |
Abrufen des aktuellen detaillierten Status für den AmlCompute-Cluster. |
list_nodes |
Rufen Sie die Details (z. B. IP-Adresse, Port usw.) aller Computeknoten im Computeziel ab. |
list_quotas |
Abrufen der derzeit zugewiesenen Arbeitsbereichskontingente basierend auf VMFamily für den angegebenen Arbeitsbereich und das angegebene Abonnement. |
list_usages |
Abrufen der aktuellen Nutzungsinformationen und Grenzwerte für AML-Ressourcen für den angegebenen Arbeitsbereich und das angegebene Abonnement. |
provisioning_configuration |
Erstellen eines Configuration-Objekts für die Bereitstellung eines AmlCompute-Ziels. |
refresh_state |
Direktes Aktualisieren der Eigenschaften des Objekts. Mit dieser Methode werden die Eigenschaften basierend auf dem aktuellen Zustand des entsprechenden Cloud-Objekts aktualisiert. Sie wird in erster Linie zum manuellen Abrufen des Computestatus verwendet. |
remove_identity |
Entfernen der Identität für die Computeressource. |
serialize |
Konvertieren dieses AmlCompute-Objekts in ein serialisiertes JSON-Wörterbuch. |
supported_vmsizes |
Auflisten der unterstützten VM-Größen in einer Region. |
update |
Aktualisieren der Skalierungseinstellungen (ScaleSettings) für dieses AmlCompute-Ziel. |
update_quotas |
Aktualisieren des Kontingents für eine VM-Familie im Arbeitsbereich. |
wait_for_completion |
Warten, bis die Bereitstellung des AmlCompute-Clusters abgeschlossen ist. Dies kann so konfiguriert werden, dass auf eine Mindestanzahl von Knoten gewartet wird und nach einem festgelegten Zeitraum ein Timeout auftritt. |
add_identity
Hinzufügen des Identitätstyps und/oder der Identitäts-IDs für dieses AmlCompute-Ziel.
add_identity(identity_type, identity_id=None)
Parameter
Name | Beschreibung |
---|---|
identity_type
Erforderlich
|
Mögliche Werte:
|
identity_id
|
Liste der Ressourcen-IDs für die benutzerseitig zugewiesene Identität. Beispiel: ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity /userAssignedIdentities/'] Standardwert: None
|
Hinweise
„identity_id“ sollte nur angegeben werden, wenn „identity_type == UserAssigned“.
delete
Entfernen des AmlCompute-Objekts aus dem zugeordneten Arbeitsbereich.
delete()
Ausnahmen
Typ | Beschreibung |
---|---|
Hinweise
Wenn dieses Objekt über Azure Machine Learning erstellt wurde, werden auch die entsprechenden cloudbasierten Objekte gelöscht. Wenn dieses Objekt extern erstellt und nur an den Arbeitsbereich angefügt wurde, wird eine Ausnahme vom Typ ComputeTargetException ausgelöst, und es wird nichts geändert.
deserialize
Konvertieren eines JSON-Objekts in ein AmlCompute-Objekt.
static deserialize(workspace, object_dict)
Parameter
Name | Beschreibung |
---|---|
workspace
Erforderlich
|
Das Workspace-Objekt, dem das AmlCompute-Objekt zugeordnet ist. |
object_dict
Erforderlich
|
Ein JSON-Objekt, das in ein AmlCompute-Objekt konvertiert werden soll. |
Gibt zurück
Typ | Beschreibung |
---|---|
Die AmlCompute-Darstellung des bereitgestellten JSON-Objekts. |
Ausnahmen
Typ | Beschreibung |
---|---|
Hinweise
Wenn der bereitgestellte Arbeitsbereich nicht der Arbeitsbereich ist, dem das Compute-Objekt zugeordnet ist, wird eine Ausnahme vom Typ ComputeTargetException ausgelöst.
detach
„detach“ (Trennen) wird für ein AmlCompute-Objekt nicht unterstützt. Verwenden Sie stattdessen delete.
detach()
Ausnahmen
Typ | Beschreibung |
---|---|
get
Dient zum Zurückgeben des Compute-Objekts.
get()
get_active_runs
Dient zum Zurückgeben eines Generators der Ausführungen für diese Computeressource.
get_active_runs(type=None, tags=None, properties=None, status=None)
Parameter
Name | Beschreibung |
---|---|
type
|
Filtern des zurückgegeben Generators von Ausführungen nach dem angegebenen Typ. Informationen zum Erstellen von Ausführungstypen finden Sie unter add_type_provider. Standardwert: None
|
tags
|
Filtern von Ausführungen nach „tag“ oder „{"tag": "value"}“. Standardwert: None
|
properties
|
Filtern von Ausführungen nach „property“ oder „{"property": "value"}“. Standardwert: None
|
status
|
Ausführungsstatus: „Wird ausgeführt“ oder „In Warteschlange“. Standardwert: None
|
Gibt zurück
Typ | Beschreibung |
---|---|
<xref:builtin.generator>
|
Ein Generator von „~_restclient.models.RunDto“. |
get_status
Abrufen des aktuellen detaillierten Status für den AmlCompute-Cluster.
get_status()
Gibt zurück
Typ | Beschreibung |
---|---|
Ein detailliertes Status-Objekt für den Cluster. |
list_nodes
Rufen Sie die Details (z. B. IP-Adresse, Port usw.) aller Computeknoten im Computeziel ab.
list_nodes()
Gibt zurück
Typ | Beschreibung |
---|---|
Die Details aller Serverknoten am Computeziel. |
list_quotas
Abrufen der derzeit zugewiesenen Arbeitsbereichskontingente basierend auf VMFamily für den angegebenen Arbeitsbereich und das angegebene Abonnement.
static list_quotas(workspace, location=None)
Parameter
Name | Beschreibung |
---|---|
workspace
Erforderlich
|
|
location
|
Der Standort der Kontingente. Ohne Angabe wird standardmäßig der Standort des Arbeitsbereichs verwendet. Standardwert: None
|
Gibt zurück
Typ | Beschreibung |
---|---|
Liste der derzeit zugewiesenen Arbeitsbereichskontingente basierend auf VMFamily |
list_usages
Abrufen der aktuellen Nutzungsinformationen und Grenzwerte für AML-Ressourcen für den angegebenen Arbeitsbereich und das angegebene Abonnement.
static list_usages(workspace, show_all=False, location=None)
Parameter
Name | Beschreibung |
---|---|
workspace
Erforderlich
|
|
show_all
|
Gibt an, ob detaillierte Nutzungsinformationen für untergeordnete Ressourcen benötigt werden. Der Standardwert ist „FALSE“. Standardwert: False
|
location
|
Der Standort der Ressourcen. Ohne Angabe wird standardmäßig der Standort des Arbeitsbereichs verwendet. Standardwert: None
|
Gibt zurück
Typ | Beschreibung |
---|---|
Liste der aktuellen Nutzungsinformationen und Grenzwerte für AML-Ressourcen |
provisioning_configuration
Erstellen eines Configuration-Objekts für die Bereitstellung eines AmlCompute-Ziels.
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)
Parameter
Name | Beschreibung |
---|---|
vm_size
Erforderlich
|
Die Größe von Agent-VMs. Weitere Informationen finden Sie hier: https://aka.ms/azureml-vm-details. Beachten Sie, dass nicht alle Größen in allen Regionen verfügbar sind, wie im zuvor verlinkten Artikel beschrieben. Ohne Angabe wird standardmäßig „Standard_NC6“ verwendet. |
vm_priority
|
Die VM-Priorität: dedicated oder lowpriority. Standardwert: dedicated
|
min_nodes
|
Die Mindestanzahl von Knoten, die im Cluster verwendet werden. Ohne Angabe wird standardmäßig „0“ verwendet. Standardwert: 0
|
max_nodes
|
Die maximale Anzahl von Knoten, die im Cluster verwendet werden. Ohne Angabe wird standardmäßig 4 verwendet. Standardwert: None
|
idle_seconds_before_scaledown
|
Die Leerlaufzeit des Knotens in Sekunden vor dem herunterskalieren des Clusters. Ohne Angabe wird standardmäßig „1800“ verwendet. Standardwert: 1800
|
admin_username
|
Der Name des Administratorbenutzerkontos, das für die SSH-Verbindung mit Knoten verwendet werden kann. Standardwert: None
|
admin_user_password
|
Das Kennwort des Administratorbenutzerkontos. Standardwert: None
|
admin_user_ssh_key
|
Der öffentliche SSH-Schlüssel des Administrator-Benutzerkontos. Standardwert: None
|
vnet_resourcegroup_name
|
Der Name der Ressourcengruppe, in der sich das virtuelle Netzwerk befindet. Standardwert: None
|
vnet_name
|
Den Namen des virtuellen Netzwerks. Standardwert: None
|
subnet_name
|
Der Name des Subnetzes innerhalb des VNet. Standardwert: None
|
tags
|
Ein Wörterbuch mit Schlüsselwerttags, die für das Computeobjekt bereitgestellt werden sollen. Standardwert: None
|
description
|
Eine Beschreibung, die für das Compute-Objekt bereitgestellt werden soll. Standardwert: None
|
remote_login_port_public_access
|
Der Status des öffentlichen SSH-Ports. Mögliche Werte:
Standardwert: NotSpecified
|
identity_type
|
Mögliche Werte:
Standardwert: None
|
identity_id
|
Liste der Ressourcen-IDs für die benutzerseitig zugewiesene Identität. Beispiel: ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/'] Standardwert: None
|
location
|
Der Speicherort, an dem der Cluster bereitgestellt werden soll. Standardwert: None
|
enable_node_public_ip
|
Aktivieren der öffentliche IP-Adresse des Knotens. Mögliche Werte:
Standardwert: True
|
Gibt zurück
Typ | Beschreibung |
---|---|
Ein Konfigurationsobjekt, das beim Erstellen eines Computeobjekts verwendet werden soll. |
Ausnahmen
Typ | Beschreibung |
---|---|
refresh_state
Direktes Aktualisieren der Eigenschaften des Objekts.
Mit dieser Methode werden die Eigenschaften basierend auf dem aktuellen Zustand des entsprechenden Cloud-Objekts aktualisiert. Sie wird in erster Linie zum manuellen Abrufen des Computestatus verwendet.
refresh_state()
remove_identity
Entfernen der Identität für die Computeressource.
remove_identity(identity_id=None)
Parameter
Name | Beschreibung |
---|---|
identity_id
|
Benutzerseitig zugewiesene Identitäten Standardwert: None
|
Hinweise
Die systemseitig zugewiesene Identität wird automatisch entfernt, wenn „identity_id“ nicht angegeben ist.
serialize
Konvertieren dieses AmlCompute-Objekts in ein serialisiertes JSON-Wörterbuch.
serialize()
Gibt zurück
Typ | Beschreibung |
---|---|
Die JSON-Darstellung dieses AmlCompute-Objekts. |
supported_vmsizes
Auflisten der unterstützten VM-Größen in einer Region.
static supported_vmsizes(workspace, location=None)
Parameter
Name | Beschreibung |
---|---|
workspace
Erforderlich
|
|
location
|
Der Standort des Clusters. Ohne Angabe wird standardmäßig der Standort des Arbeitsbereichs verwendet. Standardwert: None
|
Gibt zurück
Typ | Beschreibung |
---|---|
Eine Liste der unterstützten VM-Größen in einer Region mit den VM-Namen, den vCPUs und dem RAM. |
update
Aktualisieren der Skalierungseinstellungen (ScaleSettings) für dieses AmlCompute-Ziel.
update(min_nodes=None, max_nodes=None, idle_seconds_before_scaledown=None)
Parameter
Name | Beschreibung |
---|---|
min_nodes
|
Die Mindestanzahl von Knoten, die im Cluster verwendet werden. Standardwert: None
|
max_nodes
|
Die maximale Anzahl von Knoten, die im Cluster verwendet werden. Standardwert: None
|
idle_seconds_before_scaledown
|
Die Leerlaufzeit des Knotens, nach der der Cluster herunterskaliert wird (in Sekunden). Standardwert: None
|
update_quotas
Aktualisieren des Kontingents für eine VM-Familie im Arbeitsbereich.
static update_quotas(workspace, vm_family, limit=None, location=None)
Parameter
Name | Beschreibung |
---|---|
workspace
Erforderlich
|
|
vm_family
Erforderlich
|
Der Name der VM-Familie. |
limit
|
Das maximal zulässige Kontingent der Ressource. Standardwert: None
|
location
|
Der Standort des Kontingents. Ohne Angabe wird standardmäßig der Standort des Arbeitsbereichs verwendet. Standardwert: None
|
wait_for_completion
Warten, bis die Bereitstellung des AmlCompute-Clusters abgeschlossen ist.
Dies kann so konfiguriert werden, dass auf eine Mindestanzahl von Knoten gewartet wird und nach einem festgelegten Zeitraum ein Timeout auftritt.
wait_for_completion(show_output=False, min_node_count=None, timeout_in_minutes=25, is_delete_operation=False)
Parameter
Name | Beschreibung |
---|---|
show_output
|
Ein boolescher Wert, mit dem eine ausführlichere Ausgabe bereitgestellt werden kann. Standardwert: False
|
min_node_count
|
Die Mindestanzahl von Knoten, auf die gewartet werden soll, bevor die Bereitstellung als abgeschlossen gilt. Dies muss nicht der Mindestanzahl von Knoten entsprechen, mit denen die Computeressource bereitgestellt wurde, der Wert sollte aber nicht größer sein. Standardwert: None
|
timeout_in_minutes
|
Die Wartezeit in Minuten, nach der die Bereitstellung als fehlerhaft gilt. Standardwert: 25
|
is_delete_operation
|
Gibt an, ob es sich um einen Löschvorgang handelt. Standardwert: False
|
Ausnahmen
Typ | Beschreibung |
---|---|