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
str

Der Name des abzurufenden AmlCompute-Objekts.

workspace
Erforderlich

Das Workspace-Objekt, das das abzurufende Compute-Objekt enthält.

name
Erforderlich
str

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:

  • SystemAssigned: Systemseitig zugewiesene Identität

  • UserAssigned: Benutzerseitig zugewiesene Identität. Erfordert das Festlegen der Identitäts-ID.

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
str

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
str oder dict

Filtern von Ausführungen nach „tag“ oder „{"tag": "value"}“.

Standardwert: None
properties
str oder dict

Filtern von Ausführungen nach „property“ oder „{"property": "value"}“.

Standardwert: None
status
str

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
str

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
str

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
str

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
str

Die VM-Priorität: dedicated oder lowpriority.

Standardwert: dedicated
min_nodes
int

Die Mindestanzahl von Knoten, die im Cluster verwendet werden. Ohne Angabe wird standardmäßig „0“ verwendet.

Standardwert: 0
max_nodes
int

Die maximale Anzahl von Knoten, die im Cluster verwendet werden. Ohne Angabe wird standardmäßig 4 verwendet.

Standardwert: None
idle_seconds_before_scaledown
int

Die Leerlaufzeit des Knotens in Sekunden vor dem herunterskalieren des Clusters. Ohne Angabe wird standardmäßig „1800“ verwendet.

Standardwert: 1800
admin_username
str

Der Name des Administratorbenutzerkontos, das für die SSH-Verbindung mit Knoten verwendet werden kann.

Standardwert: None
admin_user_password
str

Das Kennwort des Administratorbenutzerkontos.

Standardwert: None
admin_user_ssh_key
str

Der öffentliche SSH-Schlüssel des Administrator-Benutzerkontos.

Standardwert: None
vnet_resourcegroup_name
str

Der Name der Ressourcengruppe, in der sich das virtuelle Netzwerk befindet.

Standardwert: None
vnet_name
str

Den Namen des virtuellen Netzwerks.

Standardwert: None
subnet_name
str

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
str

Eine Beschreibung, die für das Compute-Objekt bereitgestellt werden soll.

Standardwert: None
remote_login_port_public_access
str

Der Status des öffentlichen SSH-Ports. Mögliche Werte:

  • Disabled: Gibt an, dass der öffentliche SSH-Port auf allen Knoten im Cluster geschlossen ist.

  • Enabled: Gibt an, dass der öffentliche SSH-Port auf allen Knoten im Cluster geöffnet ist.

  • NotSpecified: Gibt an, dass der öffentliche SSH-Port auf allen Knoten im Cluster geschlossen ist, wenn das VNet definiert ist. Andernfalls sind alle öffentlichen Knoten geöffnet. Dieser Standardwert kann nur während der Clustererstellung vorhanden sein. Nach der Erstellung lautet er entweder „enabled“ oder „disabled“.

Standardwert: NotSpecified
identity_type

Mögliche Werte:

  • SystemAssigned: Systemseitig zugewiesene Identität

  • UserAssigned: Benutzerseitig zugewiesene Identität. Erfordert das Festlegen der Identitäts-ID.

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
str

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:

  • True: Aktiviert die öffentliche IP-Adresse des Knotens.

  • False: Deaktiviert die öffentliche IP-Adresse des Knotens.

  • NotSpecified: Aktiviert die öffentliche IP-Adresse des Knotens.

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
str

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
int

Die Mindestanzahl von Knoten, die im Cluster verwendet werden.

Standardwert: None
max_nodes
int

Die maximale Anzahl von Knoten, die im Cluster verwendet werden.

Standardwert: None
idle_seconds_before_scaledown
int

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
str

Der Name der VM-Familie.

limit
int

Das maximal zulässige Kontingent der Ressource.

Standardwert: None
location
str

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
int

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
int

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