Erstellen und Verwalten einer Azure Machine Learning-Compute-Instanz mit CLI v1
GILT FÜR:Azure CLI ML-Erweiterungv1Python SDK azureml v1
Hier erfahren Sie, wie Sie eine Compute-Instanz in Ihrem Azure Machine Learning-Arbeitsbereich mit CLI v1 erstellen und verwalten.
Nutzen Sie eine Compute-Instanz als Ihre vollständig konfigurierte und verwaltete Entwicklungsumgebung in der Cloud. Zu Entwicklungs- und Testzwecken können Sie die Instanz auch als Trainingscomputeziel oder Rückschlussziel verwenden. Computeinstanzen können mehrere Aufträge parallel ausführen und verfügen über eine Auftragswarteschlange. Da es sich bei einer Compute-Instanz um eine Entwicklungsumgebung handelt, kann diese nicht für andere in Ihrem Arbeitsbereich freigegeben werden.
Sie können Aufträge sicher in einer virtuellen Netzwerkumgebung ausführen, ohne dass Unternehmen hierfür SSH-Ports öffnen müssen. Der Auftrag wird in einer Containerumgebung ausgeführt und packt die Abhängigkeiten Ihres Modells in einen Docker-Container.
In diesem Artikel werden folgende Vorgehensweisen behandelt:
- Erstellen einer Compute-Instanz
- Verwalten einer Compute-Instanz (Starten, Beenden, Neu starten und Löschen)
Hinweis
In diesem Artikel wird nur beschrieben, wie Sie diese Aufgaben mit CLI v1 ausführen. Weitere aktuellere Möglichkeiten zum Verwalten einer Compute-Instanz finden Sie unter Erstellen eines Azure Machine Learning-Computeclusters.
Voraussetzungen
Ein Azure Machine Learning-Arbeitsbereich. Weitere Informationen finden Sie unter Erstellen eines Azure Machine Learning-Arbeitsbereichs.
Die Azure CLI-Erweiterung für Machine Learning Service (v1) oder das Azure Machine Learning Python SDK (v1).
Wichtig
Einige Azure CLI-Befehle in diesem Artikel verwenden die Erweiterung
azure-cli-ml
oder v1 für Azure Machine Learning. Der Support für die v1-Erweiterung endet am 30. September 2025. Sie können die v1-Erweiterung bis zu diesem Datum installieren und verwenden.Es wird empfohlen, vor dem 30. September 2025 zur
ml
- oder v2-Erweiterung zu wechseln. Weitere Informationen zur v2-Erweiterung finden Sie unter Was sind die Azure Machine Learning CLI und das Python SDK v2?.
Erstellen
Wichtig
Die unten markierten Elemente (Vorschau) sind aktuell als öffentliche Vorschau verfügbar. Die Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
Geschätzter Zeitaufwand: Ca. fünf Minuten.
Das Erstellen einer Compute-Instanz ist ein für Ihren Arbeitsbereich einmaliger Prozess. Sie können die Compute-Instanz als Entwicklungsarbeitsstation oder als Computeziel für das Training wiederverwenden. Sie können mehrere Compute-Instanzen an Ihren Arbeitsbereich anfügen.
Das Kontingent dedizierter Kerne pro Region pro VM-Familie und gesamte regionale Kontingent, das für die Erstellung von Compute-Instanzen gilt, ist einheitlich und wird mit dem Kontingent für Azure Machine Learning-Trainingcomputecluster gemeinsam genutzt. Das Beenden der Compute-Instanz gibt keine Kontingente frei, um sicherzustellen, dass Sie die Compute-Instanz erneut starten können. Es ist nicht möglich, die Größe der VM einer Compute-Instanz zu ändern, nachdem sie erstellt wurde.
Das folgende Beispiel veranschaulicht das Erstellen einer Compute-Instanz:
GILT FÜR: Python SDK azureml v1
import datetime
import time
from azureml.core.compute import ComputeTarget, ComputeInstance
from azureml.core.compute_target import ComputeTargetException
# Choose a name for your instance
# Compute instance name should be unique across the azure region
compute_name = "ci{}".format(ws._workspace_id)[:10]
# Verify that instance does not exist already
try:
instance = ComputeInstance(workspace=ws, name=compute_name)
print('Found existing instance, use it.')
except ComputeTargetException:
compute_config = ComputeInstance.provisioning_configuration(
vm_size='STANDARD_D3_V2',
ssh_public_access=False,
# vnet_resourcegroup_name='<my-resource-group>',
# vnet_name='<my-vnet-name>',
# subnet_name='default',
# admin_user_ssh_public_key='<my-sshkey>'
)
instance = ComputeInstance.create(ws, compute_name, compute_config)
instance.wait_for_completion(show_output=True)
Weitere Informationen zu den in diesem Beispiel verwendeten Klassen, Methoden und Parametern finden Sie in den folgenden Referenzdokumenten:
Verwalten
Starten, Beenden, Neustarten und Löschen einer Compute-Instanz. Eine Compute-Instanz wird nicht automatisch herunterskaliert. Stellen Sie daher sicher, dass die Ressource beendet wird, um laufende Gebühren zu vermeiden. Das Beenden einer Compute-Instanz gibt diese frei. Starten Sie sie dann erneut, wenn Sie sie benötigen. Das Beenden der Compute-Instanz stoppt zwar die Abrechnung der Computestunden, es werden Ihnen aber weiterhin Datenträger, öffentliche IP-Adresse und Standardlastenausgleich in Rechnung gestellt.
Tipp
Die Compute-Instanz verfügt über einen 120 GB Betriebssystemdatenträger. Wenn Ihnen der Speicherplatz ausgeht, verwenden Sie das Terminal, um mindestens 1–2 GB zu löschen, bevor Sie die Compute-Instanz beenden oder neu starten. Bitte beenden Sie die Compute-Instanz nicht, indem Sie sudo Herunterfahren im Terminal eingeben. Die Größe des temporären Datenträgers auf der Compute-Instanz hängt von der gewählten VM-Größe ab und wird in „/mnt“ eingebunden.
GILT FÜR: Python SDK azureml v1
In den unten stehenden Beispielen lautet der Name der Compute-Instanz instance.
Abrufen des Status
# get_status() gets the latest status of the ComputeInstance target instance.get_status()
Beenden
# stop() is used to stop the ComputeInstance # Stopping ComputeInstance will stop the billing meter and persist the state on the disk. # Available Quota will not be changed with this operation. instance.stop(wait_for_completion=True, show_output=True)
Start
# start() is used to start the ComputeInstance if it is in stopped state instance.start(wait_for_completion=True, show_output=True)
Neu starten
# restart() is used to restart the ComputeInstance instance.restart(wait_for_completion=True, show_output=True)
Löschen
# delete() is used to delete the ComputeInstance target. Useful if you want to re-use the compute name instance.delete(wait_for_completion=True, show_output=True)
Mithilfe von Azure RBAC können Sie steuern, welche Benutzer im Arbeitsbereich eine Compute-Instanz erstellen, löschen, starten, beenden und neu starten können. Alle Benutzer mit der Rolle „Mitwirkender“ und „Besitzer“ des Arbeitsbereichs können Compute-Instanzen im gesamten Arbeitsbereich erstellen, löschen, starten, beenden und neu starten. Allerdings darf nur der Ersteller einer bestimmten Compute-Instanz oder der zugewiesene Benutzer (falls die Instanz in seinem Namen erstellt wurde) auf dieser Compute-Instanz auf Jupyter, JupyterLab, RStudio und Posit Workbench (früher RStudio Workbench) zugreifen. Eine Compute-Instanz ist einem einzelnen Benutzer zugeordnet, der über Root-Zugriff verfügt. Dieser Benutzer hat Zugriff auf die Jupyter-, JupyterLab-, RStudio- oder Posit Workbench-Umgebung, die auf der Instanz ausgeführt wird. Die Compute-Instanz wird über eine Einzelbenutzeranmeldung verfügen, und alle Aktionen werden die Identität dieses Benutzers für Azure RBAC und die Zuordnung von Experimentausführungen verwenden. Der SSH-Zugriff wird über einen Mechanismus mit öffentlichem/privatem Schlüssel gesteuert.
Diese Aktionen können von Azure RBAC gesteuert werden:
- Microsoft.MachineLearningServices/workspaces/computes/read
- Microsoft.MachineLearningServices/workspaces/computes/write
- Microsoft.MachineLearningServices/workspaces/computes/delete
- Microsoft.MachineLearningServices/workspaces/computes/start/action
- Microsoft.MachineLearningServices/workspaces/computes/stop/action
- Microsoft.MachineLearningServices/workspaces/computes/restart/action
- Microsoft.MachineLearningServices/workspaces/computes/updateSchedules/action
Zum Erstellen einer Compute-Instanz benötigen Sie Berechtigungen für die folgenden Aktionen:
- Microsoft.MachineLearningServices/workspaces/computes/write
- Microsoft.MachineLearningServices/workspaces/checkComputeNameAvailability/action