Freigeben über


AmlCompute Klasse

Verwaltet einen Azure Machine Learning-Compute in Azure Machine Learning.

Ein Azure Machine Learning Compute (AmlCompute) ist eine Managed-Compute-Infrastruktur, mit der Sie problemlos eine einzelne oder mehrere Knoten berechnen können. Die Berechnung 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?

Class ComputeTarget-Konstruktor.

Rufen Sie eine Clouddarstellung eines Compute-Objekts ab, das dem bereitgestellten Arbeitsbereich zugeordnet ist. Gibt eine Instanz einer untergeordneten Klasse zurück, die dem spezifischen Typ des abgerufenen Compute-Objekts entspricht.

Konstruktor

AmlCompute(workspace, name)

Parameter

Name Beschreibung
workspace
Erforderlich

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

name
Erforderlich
str

Der Name des abzurufenden AmlCompute-Objekts.

workspace
Erforderlich

Das Arbeitsbereichsobjekt, das das compute-Objekt enthält, das abgerufen werden soll.

name
Erforderlich
str

Der Name des abzurufenden Compute-Objekts.

Hinweise

Im folgenden Beispiel wird ein von ihnen bereitgestelltes AmlCompute persistentes Computeziel erstellt. Der provisioning_configuration Parameter in diesem Beispiel ist vom Typ AmlComputeProvisioningConfiguration, der 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)

Vollständiges Beispiel ist verfügbar von https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/training/train-on-amlcompute/train-on-amlcompute.ipynb

Methoden

add_identity

Fügen Sie den Identitätstyp und/oder die Identitäts-ID für dieses AmlCompute-Ziel hinzu.

delete

Entfernen Sie das AmlCompute-Objekt aus dem zugeordneten Arbeitsbereich.

deserialize

Konvertieren Sie ein JSON-Objekt in ein AmlCompute-Objekt.

detach

Das Trennen wird für das AmlCompute-Objekt nicht unterstützt. Verwenden Sie stattdessen delete.

get

Computeobjekt zurückgeben.

get_active_runs

Gibt einen Generator der Ausführung für diese Berechnung zurück.

get_status

Rufen Sie den aktuellen detaillierten Status für den AmlCompute-Cluster ab.

list_nodes

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

list_quotas

Rufen Sie die aktuell zugewiesenen Arbeitsbereichskontingente basierend auf VMFamily für einen bestimmten Arbeitsbereich und ein Abonnement ab.

list_usages

Rufen Sie die aktuellen Nutzungsinformationen sowie Grenzwerte für AML-Ressourcen für bestimmte Arbeitsbereiche und Abonnements ab.

provisioning_configuration

Erstellen Sie ein Konfigurationsobjekt für die Bereitstellung eines AmlCompute-Ziels.

refresh_state

Führen Sie eine direkte Aktualisierung der Eigenschaften des Objekts durch.

Diese Methode aktualisiert die Eigenschaften basierend auf dem aktuellen Zustand des entsprechenden Cloudobjekts. Dies wird in erster Linie für die manuelle Abfrage des Berechnungszustands verwendet.

remove_identity

Entfernen Sie die Identität auf der Berechnung.

serialize

Konvertieren Sie dieses AmlCompute-Objekt in ein serialisiertes JSON-Wörterbuch.

supported_vmsizes

Listet die unterstützten VM-Größen in einer Region auf.

update

Aktualisieren Sie das ScaleSettings Ziel für dieses AmlCompute-Ziel.

update_quotas

Updatekontingent für eine VM-Familie im Arbeitsbereich.

wait_for_completion

Warten Sie, bis der AmlCompute-Cluster die Bereitstellung abgeschlossen hat.

Dies kann so konfiguriert werden, dass eine minimale Anzahl von Knoten und ein Timeout nach einem festgelegten Zeitraum gewartet wird.

add_identity

Fügen Sie den Identitätstyp und/oder die Identitäts-ID für dieses AmlCompute-Ziel hinzu.

add_identity(identity_type, identity_id=None)

Parameter

Name Beschreibung
identity_type
Erforderlich

Mögliche Werte sind:

  • SystemAssigned – Vom System zugewiesene Identität

  • UserAssigned – Vom Benutzer zugewiesene Identität. Erfordert, dass die Identitäts-ID festgelegt wird.

identity_id

Liste der Ressourcen-IDs für die vom Benutzer zugewiesene Identität. Zb. ['/subscriptions/<subid>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity /userAssignedIdentities/<id>']

Standardwert: None

Hinweise

identity_id sollte nur angegeben werden, wenn identity_type == UserAssigned

delete

Entfernen Sie das AmlCompute-Objekt 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, löst diese Methode eine Änderung aus ComputeTargetException .

deserialize

Konvertieren Sie ein JSON-Objekt in ein AmlCompute-Objekt.

static deserialize(workspace, object_dict)

Parameter

Name Beschreibung
workspace
Erforderlich

Das Arbeitsbereichsobjekt, 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

Löst ein ComputeTargetException , wenn der bereitgestellte Arbeitsbereich nicht der Arbeitsbereich ist, dem die Compute zugeordnet ist.

detach

Das Trennen wird für das AmlCompute-Objekt nicht unterstützt. Verwenden Sie stattdessen delete.

detach()

Ausnahmen

Typ Beschreibung

get

Computeobjekt zurückgeben.

get()

get_active_runs

Gibt einen Generator der Ausführung für diese Berechnung zurück.

get_active_runs(type=None, tags=None, properties=None, status=None)

Parameter

Name Beschreibung
type
str

Filtern Sie den zurückgegebenen Generator, der vom angegebenen Typ ausgeführt wird. Informationen zum Erstellen von Ausführungstypen finden Sie unter.See add_type_provider for creating run types.

Standardwert: None
tags
str oder dict

Filter wird von "tag" oder {"tag": "value"} ausgeführt.

Standardwert: None
properties
str oder dict

Filter wird von "property" oder {"property" ausgeführt: "value"}

Standardwert: None
status
str

Ausführungsstatus – entweder "Ausführen" oder "In der Warteschlange"

Standardwert: None

Gibt zurück

Typ Beschreibung
<xref:builtin.generator>

ein Generator von ~_restclient.models.RunDto

get_status

Rufen Sie den aktuellen detaillierten Status für den AmlCompute-Cluster ab.

get_status()

Gibt zurück

Typ Beschreibung

Ein detailliertes Statusobjekt 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 Computeknoten im Computeziel.

list_quotas

Rufen Sie die aktuell zugewiesenen Arbeitsbereichskontingente basierend auf VMFamily für einen bestimmten Arbeitsbereich und ein Abonnement ab.

static list_quotas(workspace, location=None)

Parameter

Name Beschreibung
workspace
Erforderlich
location
str

Der Speicherort der Kontingente. Wenn nicht angegeben, wird standardmäßig der Arbeitsbereichsspeicherort verwendet.

Standardwert: None

Gibt zurück

Typ Beschreibung

Liste der aktuell zugewiesenen Arbeitsbereichskontingente basierend auf VMFamily

list_usages

Rufen Sie die aktuellen Nutzungsinformationen sowie Grenzwerte für AML-Ressourcen für bestimmte Arbeitsbereiche und Abonnements ab.

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

Parameter

Name Beschreibung
workspace
Erforderlich
show_all

Gibt an, ob detaillierte Verwendungen untergeordneter Ressourcen erforderlich sind. Der Standardwert ist „FALSE“.

Standardwert: False
location
str

Der Speicherort der Ressourcen. Wenn nicht angegeben, wird standardmäßig der Arbeitsbereichsspeicherort verwendet.

Standardwert: None

Gibt zurück

Typ Beschreibung

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

provisioning_configuration

Erstellen Sie ein Konfigurationsobjekt 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 Details finden Sie hier: https://aka.ms/azureml-vm-details. Beachten Sie, dass nicht alle Größen in allen Regionen verfügbar sind, wie im vorherigen Link beschrieben. Wenn nicht angegeben, wird standardmäßig Standard_NC6.

vm_priority
str

Die Priorität des virtuellen Computers, der dedizierten oder niedrigen Priorität.

Standardwert: dedicated
min_nodes
int

Die Mindestanzahl der Knoten, die für den Cluster verwendet werden sollen. Wenn nicht angegeben, wird standardmäßig "0" verwendet.

Standardwert: 0
max_nodes
int

Die maximale Anzahl von Knoten, die im Cluster verwendet werden sollen. Wenn nicht angegeben, wird standardmäßig "4" verwendet.

Standardwert: None
idle_seconds_before_scaledown
int

Die Leerlaufzeit des Knotens in Sekunden, bevor der Cluster herunterskaliert wird. Wenn nicht angegeben, wird standardmäßig 1800 festgelegt.

Standardwert: 1800
admin_username
str

Der Name des Administratorbenutzerkontos, das für SSH in 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, das für das Computeobjekt bereitgestellt werden soll.

Standardwert: None
description
str

Eine Beschreibung, die für das Computeobjekt bereitgestellt werden soll.

Standardwert: None
remote_login_port_public_access
str

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

  • Deaktiviert – Gibt an, dass der öffentliche SSH-Port auf allen Knoten des Clusters geschlossen ist.

  • Aktiviert – Gibt an, dass der öffentliche SSH-Port auf allen Knoten des Clusters geöffnet ist.

  • NotSpecified - Gibt an, dass der öffentliche SSH-Port auf allen Knoten des Clusters geschlossen ist, wenn VNet definiert ist, andernfalls werden alle öffentlichen Knoten geöffnet. Dieser Standardwert kann nur während der Clustererstellungszeit verwendet werden. Nach der Erstellung wird sie entweder aktiviert oder deaktiviert.

Standardwert: NotSpecified
identity_type

Mögliche Werte sind:

  • SystemAssigned – Vom System zugewiesene Identität

  • UserAssigned – Vom Benutzer zugewiesene Identität. Erfordert, dass die Identitäts-ID festgelegt wird.

Standardwert: None
identity_id

Liste der Ressourcen-IDs für die vom Benutzer zugewiesene Identität. Zb. ['/subscriptions/<subid>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<id>']

Standardwert: None
location
str

Speicherort, an dem Cluster bereitgestellt werden soll.

Standardwert: None
enable_node_public_ip

Aktivieren Sie die öffentliche IP-Adresse des Knotens. Mögliche Werte sind:

  • True – Aktivieren Sie die öffentliche IP-Adresse des Knotens.

  • False – Öffentliche IP des Knotens deaktivieren.

  • NotSpecified – Aktivieren sie die öffentliche IP-Adresse des Knotens.

Standardwert: True

Gibt zurück

Typ Beschreibung

Ein Konfigurationsobjekt, das beim Erstellen eines Compute-Objekts verwendet werden soll.

Ausnahmen

Typ Beschreibung

refresh_state

Führen Sie eine direkte Aktualisierung der Eigenschaften des Objekts durch.

Diese Methode aktualisiert die Eigenschaften basierend auf dem aktuellen Zustand des entsprechenden Cloudobjekts. Dies wird in erster Linie für die manuelle Abfrage des Berechnungszustands verwendet.

refresh_state()

remove_identity

Entfernen Sie die Identität auf der Berechnung.

remove_identity(identity_id=None)

Parameter

Name Beschreibung
identity_id

Vom Benutzer zugewiesene Identitäten

Standardwert: None

Hinweise

Die vom System zugewiesene Identität wird automatisch entfernt, wenn identity_id nicht angegeben ist.

serialize

Konvertieren Sie dieses AmlCompute-Objekt in ein serialisiertes JSON-Wörterbuch.

serialize()

Gibt zurück

Typ Beschreibung

Die JSON-Darstellung dieses AmlCompute-Objekts.

supported_vmsizes

Listet die unterstützten VM-Größen in einer Region auf.

static supported_vmsizes(workspace, location=None)

Parameter

Name Beschreibung
workspace
Erforderlich
location
str

Der Speicherort des Clusters. Wenn nicht angegeben, wird standardmäßig der Arbeitsbereichsspeicherort verwendet.

Standardwert: None

Gibt zurück

Typ Beschreibung

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

update

Aktualisieren Sie das ScaleSettings Ziel 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 der Knoten, die für den Cluster verwendet werden sollen.

Standardwert: None
max_nodes
int

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

Standardwert: None
idle_seconds_before_scaledown
int

Die Leerlaufzeit des Knotens in Sekunden, bevor der Cluster herunterskaliert wird.

Standardwert: None

update_quotas

Updatekontingent 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

VM-Familienname

limit
int

Das maximal zulässige Kontingent der Ressource

Standardwert: None
location
str

Der Speicherort des Kontingents. Wenn nicht angegeben, wird standardmäßig der Arbeitsbereichsspeicherort verwendet.

Standardwert: None

wait_for_completion

Warten Sie, bis der AmlCompute-Cluster die Bereitstellung abgeschlossen hat.

Dies kann so konfiguriert werden, dass eine minimale Anzahl von Knoten und ein Timeout nach einem festgelegten Zeitraum gewartet wird.

wait_for_completion(show_output=False, min_node_count=None, timeout_in_minutes=25, is_delete_operation=False)

Parameter

Name Beschreibung
show_output

Boolescher Wert, um ausführlichere Ausgaben bereitzustellen.

Standardwert: False
min_node_count
int

Mindestanzahl von Knoten, auf die gewartet werden muss, bevor die Bereitstellung abgeschlossen ist. Dies muss nicht der mindesten Anzahl von Knoten entsprechen, mit denen der Compute bereitgestellt wurde, aber es sollte nicht größer sein als das.

Standardwert: None
timeout_in_minutes
int

Die Dauer in Minuten, die gewartet werden soll, bevor die Bereitstellung als fehlgeschlagen betrachtet wird.

Standardwert: 25
is_delete_operation

Gibt an, ob der Vorgang zum Löschen vorgesehen ist.

Standardwert: False

Ausnahmen

Typ Beschreibung