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
|
Der Name des abzurufenden AmlCompute-Objekts. |
|
workspace
Erforderlich
|
Das Arbeitsbereichsobjekt, das das compute-Objekt enthält, das abgerufen werden soll. |
|
name
Erforderlich
|
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:
|
|
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
|
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
|
Filter wird von "tag" oder {"tag": "value"} ausgeführt. Standardwert: None
|
|
properties
|
Filter wird von "property" oder {"property" ausgeführt: "value"} Standardwert: None
|
|
status
|
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
|
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
|
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
|
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
|
Die Priorität des virtuellen Computers, der dedizierten oder niedrigen Priorität. Standardwert: dedicated
|
|
min_nodes
|
Die Mindestanzahl der Knoten, die für den Cluster verwendet werden sollen. Wenn nicht angegeben, wird standardmäßig "0" verwendet. Standardwert: 0
|
|
max_nodes
|
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
|
Die Leerlaufzeit des Knotens in Sekunden, bevor der Cluster herunterskaliert wird. Wenn nicht angegeben, wird standardmäßig 1800 festgelegt. Standardwert: 1800
|
|
admin_username
|
Der Name des Administratorbenutzerkontos, das für SSH in 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, das für das Computeobjekt bereitgestellt werden soll. Standardwert: None
|
|
description
|
Eine Beschreibung, die für das Computeobjekt bereitgestellt werden soll. Standardwert: None
|
|
remote_login_port_public_access
|
Status des öffentlichen SSH-Ports. Mögliche Werte sind:
Standardwert: NotSpecified
|
|
identity_type
|
Mögliche Werte sind:
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
|
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:
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
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
|
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
|
Die Mindestanzahl der Knoten, die für den Cluster verwendet werden sollen. Standardwert: None
|
|
max_nodes
|
Die maximale Anzahl von Knoten, die im Cluster verwendet werden sollen. Standardwert: None
|
|
idle_seconds_before_scaledown
|
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
|
VM-Familienname |
|
limit
|
Das maximal zulässige Kontingent der Ressource Standardwert: None
|
|
location
|
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
|
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
|
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 |
|---|---|