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

workspace
Workspace
Erforderlich

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

name
str
Erforderlich

Der Name des abzurufenden AmlCompute-Objekts.

workspace
Workspace
Erforderlich

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

name
str
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

identity_type
string
Erforderlich

Mögliche Werte:

  • SystemAssigned: Systemseitig zugewiesene Identität

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

identity_id
list[str]
Standardwert: None

Liste der Ressourcen-IDs für die benutzerseitig zugewiesene Identität. Beispiel: ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity /userAssignedIdentities/']

Hinweise

„identity_id“ sollte nur angegeben werden, wenn „identity_type == UserAssigned“.

delete

Entfernen des AmlCompute-Objekts aus dem zugeordneten Arbeitsbereich.

delete()

Ausnahmen

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

workspace
Workspace
Erforderlich

Das Workspace-Objekt, dem das AmlCompute-Objekt zugeordnet ist.

object_dict
dict
Erforderlich

Ein JSON-Objekt, das in ein AmlCompute-Objekt konvertiert werden soll.

Gibt zurück

Die AmlCompute-Darstellung des bereitgestellten JSON-Objekts.

Rückgabetyp

Ausnahmen

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

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

type
str
Standardwert: None

Filtern des zurückgegeben Generators von Ausführungen nach dem angegebenen Typ. Informationen zum Erstellen von Ausführungstypen finden Sie unter add_type_provider.

tags
str oder dict
Standardwert: None

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

properties
str oder dict
Standardwert: None

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

status
str
Standardwert: None

Ausführungsstatus: „Wird ausgeführt“ oder „In Warteschlange“.

Gibt zurück

Ein Generator von „~_restclient.models.RunDto“.

Rückgabetyp

<xref:builtin.generator>

get_status

Abrufen des aktuellen detaillierten Status für den AmlCompute-Cluster.

get_status()

Gibt zurück

Ein detailliertes Status-Objekt für den Cluster.

Rückgabetyp

list_nodes

Rufen Sie die Details (z. B. IP-Adresse, Port usw.) aller Computeknoten im Computeziel ab.

list_nodes()

Gibt zurück

Die Details aller Serverknoten am Computeziel.

Rückgabetyp

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

workspace
Workspace
Erforderlich
location
str
Standardwert: None

Der Standort der Kontingente. Ohne Angabe wird standardmäßig der Standort des Arbeitsbereichs verwendet.

Gibt zurück

Liste der derzeit zugewiesenen Arbeitsbereichskontingente basierend auf VMFamily

Rückgabetyp

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

workspace
Workspace
Erforderlich
show_all
Standardwert: False

Gibt an, ob detaillierte Nutzungsinformationen für untergeordnete Ressourcen benötigt werden. Der Standardwert ist „FALSE“.

location
str
Standardwert: None

Der Standort der Ressourcen. Ohne Angabe wird standardmäßig der Standort des Arbeitsbereichs verwendet.

Gibt zurück

Liste der aktuellen Nutzungsinformationen und Grenzwerte für AML-Ressourcen

Rückgabetyp

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

vm_size
str
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
str
Standardwert: dedicated

Die VM-Priorität: dedicated oder lowpriority.

min_nodes
int
Standardwert: 0

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

max_nodes
int
Standardwert: None

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

idle_seconds_before_scaledown
int
Standardwert: 1800

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

admin_username
str
Standardwert: None

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

admin_user_password
str
Standardwert: None

Das Kennwort des Administratorbenutzerkontos.

admin_user_ssh_key
str
Standardwert: None

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

vnet_resourcegroup_name
str
Standardwert: None

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

vnet_name
str
Standardwert: None

Den Namen des virtuellen Netzwerks.

subnet_name
str
Standardwert: None

Der Name des Subnetzes innerhalb des VNet.

tags
dict[str, str]
Standardwert: None

Ein Wörterbuch mit Schlüsselwerttags, die für das Computeobjekt bereitgestellt werden sollen.

description
str
Standardwert: None

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

remote_login_port_public_access
str
Standardwert: NotSpecified

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“.

identity_type
string
Standardwert: None

Mögliche Werte:

  • SystemAssigned: Systemseitig zugewiesene Identität

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

identity_id
list[str]
Standardwert: None

Liste der Ressourcen-IDs für die benutzerseitig zugewiesene Identität. Beispiel: ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/']

location
str
Standardwert: None

Der Speicherort, an dem der Cluster bereitgestellt werden soll.

enable_node_public_ip
bool
Standardwert: True

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.

Gibt zurück

Ein Konfigurationsobjekt, das beim Erstellen eines Computeobjekts verwendet werden soll.

Rückgabetyp

Ausnahmen

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

identity_id
list[str]
Standardwert: None

Benutzerseitig zugewiesene Identitäten

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

Die JSON-Darstellung dieses AmlCompute-Objekts.

Rückgabetyp

supported_vmsizes

Auflisten der unterstützten VM-Größen in einer Region.

static supported_vmsizes(workspace, location=None)

Parameter

workspace
Workspace
Erforderlich
location
str
Standardwert: None

Der Standort des Clusters. Ohne Angabe wird standardmäßig der Standort des Arbeitsbereichs verwendet.

Gibt zurück

Eine Liste der unterstützten VM-Größen in einer Region mit den VM-Namen, den vCPUs und dem RAM.

Rückgabetyp

update

Aktualisieren der Skalierungseinstellungen (ScaleSettings) für dieses AmlCompute-Ziel.

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

Parameter

min_nodes
int
Standardwert: None

Die Mindestanzahl von Knoten, die im Cluster verwendet werden.

max_nodes
int
Standardwert: None

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

idle_seconds_before_scaledown
int
Standardwert: None

Die Leerlaufzeit des Knotens, nach der der Cluster herunterskaliert wird (in Sekunden).

update_quotas

Aktualisieren des Kontingents für eine VM-Familie im Arbeitsbereich.

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

Parameter

workspace
Workspace
Erforderlich
vm_family
str
Erforderlich

Der Name der VM-Familie.

limit
int
Standardwert: None

Das maximal zulässige Kontingent der Ressource.

location
str
Standardwert: None

Der Standort des Kontingents. Ohne Angabe wird standardmäßig der Standort des Arbeitsbereichs verwendet.

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

show_output
bool
Standardwert: False

Ein boolescher Wert, mit dem eine ausführlichere Ausgabe bereitgestellt werden kann.

min_node_count
int
Standardwert: None

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.

timeout_in_minutes
int
Standardwert: 25

Die Wartezeit in Minuten, nach der die Bereitstellung als fehlerhaft gilt.

is_delete_operation
bool
Standardwert: False

Gibt an, ob es sich um einen Löschvorgang handelt.

Ausnahmen