Einrichten einer Python-Entwicklungsumgebung für Azure Machine Learning (v1)
GILT FÜR: Python SDK azureml v1
Hier erfahren Sie, wie Sie eine Python-Entwicklungsumgebung für Azure Machine Learning konfigurieren.
In der folgenden Tabelle sind die einzelnen in diesem Artikel behandelten Entwicklungsumgebungen zusammen mit den jeweiligen Vor- und Nachteilen aufgeführt.
Environment | Vorteile | Nachteile |
---|---|---|
Lokale Umgebung | Vollständige Kontrolle über Ihre Entwicklungsumgebung und die Abhängigkeiten. Ausführung mit einem Buildtool, einer Umgebung oder einer IDE Ihrer Wahl. | Der Einstieg dauert länger. Die erforderlichen SDK-Pakete müssen installiert werden. Außerdem muss eine Umgebung installiert werden, wenn noch keine vorhanden ist. |
Data Science Virtual Machine (DSVM) | Vergleichbar mit der cloudbasierten Compute-Instanz (Python und das SDK sind vorinstalliert), aber mit anderen gängigen vorinstallierten Data Science- und Machine Learning-Tools. Einfache Skalierung und Kombination mit anderen benutzerdefinierten Tools und Workflows. | Langsamerer Einstieg im Vergleich zur cloudbasierten Compute-Instanz. |
Azure Machine Learning-Computeinstanz | Einfachste Methode für den Einstieg. Das gesamte SDK ist bereits auf der Arbeitsbereichs-VM installiert. Die Notebooktutorials sind vorab geklont und bereit zur Ausführung. | Keine Kontrolle über Ihre Entwicklungsumgebung und die Abhängigkeiten. Zusatzkosten für den virtuellen Linux-Computer (der virtuelle Computer kann bei Nichtverwendung beendet werden, um Gebühren zu vermeiden). Preisdetails finden Sie hier. |
Azure Databricks | Ideal für die Ausführung umfangreicher Workflows mit maschinellem Lernen auf der skalierbaren Apache Spark-Plattform. | Übermaß für experimentelles maschinelles Lernen oder kleinere Experimente und Workflows. Zusatzkosten für Azure Databricks Preisdetails finden Sie hier. |
Dieser Artikel enthält außerdem Tipps zur Verwendung der folgenden Tools:
Jupyter Notebooks: Wenn Sie Jupyter Notebooks bereits verwenden, enthält das SDK einige zusätzliche Elemente, die Sie installieren sollten.
Visual Studio Code: Wenn Sie Visual Studio Code verwenden, enthält die Azure Machine Learning-Erweiterung umfangreiche Sprachunterstützung für Python sowie Features, mit denen die Arbeit mit Azure Machine Learning wesentlich bequemer und produktiver wird.
Voraussetzungen
- Einen Azure Machine Learning-Arbeitsbereich. Wenn Sie nicht über einen Azure Machine Learning-Arbeitsbereich verfügen, können Sie einen über das Azure-Portal, die Azure-Befehlszeilenschnittstelle oder über Azure Resource Manager-Vorlagen erstellen.
Nur lokal und DSVM: Erstellen einer Konfigurationsdatei für den Arbeitsbereich
Die Arbeitsbereichs-Konfigurationsdatei ist eine JSON-Datei, die das SDK zur Kommunikation mit Ihrem Azure Machine Learning-Arbeitsbereich instruiert. Die Datei weist den Namen config.json und das folgende Format auf:
{
"subscription_id": "<subscription-id>",
"resource_group": "<resource-group>",
"workspace_name": "<workspace-name>"
}
Diese JSON-Datei muss sich in der Verzeichnisstruktur befinden, die Ihre Python-Skripts oder Jupyter Notebooks enthält. Sie kann sich im selben Verzeichnis, in einem Unterverzeichnis namens .azureml
oder in einem übergeordneten Verzeichnis befinden.
Verwenden Sie die Workspace.from_config
-Methode, um diese Datei in Ihrem Code zu verwenden. Dieser Code lädt die Informationen aus der Datei und stellt eine Verbindung mit Ihrem Arbeitsbereich her.
Für das Erstellen einer Arbeitsbereichskonfigurationsdatei können Sie eine der folgenden beiden Methoden verwenden:
Azure-Portal
Herunterladen der Datei: Wählen Sie im Azure-Portal im Abschnitt Übersicht Ihres Arbeitsbereichs „config.json“ herunterladen aus.
Python-SDK für Azure Machine Learning
Erstellen Sie ein Skript, um eine Verbindung mit Ihrem Azure Machine Learning-Arbeitsbereich herzustellen, und verwenden Sie die
write_config
-Methode, um Ihre Datei zu generieren. Speichern Sie sie als .azureml/config.json. Achten Sie darauf, dass Siesubscription_id
,resource_group
undworkspace_name
durch Ihre eigenen Werte ersetzen.GILT FÜR: Python SDK azureml v1
from azureml.core import Workspace subscription_id = '<subscription-id>' resource_group = '<resource-group>' workspace_name = '<workspace-name>' try: ws = Workspace(subscription_id = subscription_id, resource_group = resource_group, workspace_name = workspace_name) ws.write_config() print('Library configuration succeeded') except: print('Workspace not found')
Lokaler Computer oder Remote-VM-Umgebung
Sie können eine Entwicklungsumgebung auf einem lokalen Computer oder einer Remote-VM (z. B. einer Azure Machine Learning-Compute-Instanz oder DSVM) einrichten.
So konfigurieren Sie eine Entwicklungsumgebung lokal oder auf einer Remote-VM
Erstellen Sie eine virtuelle Python-Umgebung (virtualenv, conda).
Hinweis
Obwohl es nicht erforderlich ist, wird empfohlen, dass Sie Anaconda oder Miniconda verwenden, um virtuelle Python-Umgebungen zu verwalten und Pakete zu installieren.
Wichtig
Wenn Sie unter Linux oder macOS eine andere Shell als Bash verwenden (z.B. zsh), werden beim Ausführen einiger Befehle möglicherweise Fehler ausgegeben. Um dieses Problem zu umgehen, starten Sie mit dem Befehl
bash
eine neue Bash-Shell starten, und führen Sie die Befehle in dieser aus.Aktivieren Sie Ihre neu erstellte virtuelle Python-Umgebung.
Installieren Sie das Python SDK für Azure Machine Learning.
Erstellen Sie eine Arbeitsbereichskonfigurationsdatei, oder verwenden Sie eine vorhandene, um Ihre lokale Umgebung so zu konfigurieren, dass Ihr Azure Machine Learning-Arbeitsbereich verwendet wird.
Da Sie nun Ihre lokale Umgebung eingerichtet haben, können Sie mit der Verwendung von Azure Machine Learning beginnen. Informationen zu den ersten Schritten finden Sie unter Tutorial: Erste Schritte mit Azure Machine Learning in Ihrer Entwicklungsumgebung (Teil 1 von 4).
Jupyter Notebook
Wenn Sie einen lokalen Jupyter Notebook-Server betreiben, sollten Sie ein IPython-Kernel für Ihre virtuelle Python-Umgebung erstellen. Dies unterstützt Sie dabei, für das erwartete Kernel- und Paketimportverhalten zu sorgen.
Aktivieren umgebungsspezifischer IPython-Kernel
conda install notebook ipykernel
Erstellen Sie ein Kernel für Ihre virtuelle Python-Umgebung. Ersetzen Sie
<myenv>
durch den Namen Ihrer virtuellen Python-Umgebung.ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
Starten des Jupyter Notebook-Servers
Unter Beispielnotebooks des Azure Machine Learning-Diensts finden Sie Informationen zu den ersten Schritten mit Azure Machine Learning und Jupyter Notebook-Instanzen. Weitere Informationen finden Sie auch unter dem von der Community gesteuerten Repository AzureML-Examples.
Visual Studio Code
So verwenden Visual Studio Code für die Entwicklung
Installieren Sie Visual Studio Code.
Installieren Sie die Visual Studio Code-Erweiterung für Azure Machine Learning (Vorschau).
Wichtig
Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese 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.
Nachdem Sie die Visual Studio Code-Erweiterung installiert haben, verwenden Sie sie zu Folgendem:
- Verwalten Ihrer Azure Machine Learning-Ressourcen
- Launch Visual Studio Code remotely connected to a compute instance (preview) (Starten von Visual Studio Code mit Remoteverbindung mit einer Compute-Instanz (Vorschau))
- Ausführen und Debuggen von Experimenten
- Bereitstellen trainierter Modelle (CLI v2)
Azure Machine Learning-Computeinstanz
Die Azure Machine Learning-Compute-Instanz ist eine sichere, cloudbasierte Azure-Arbeitsstation, die wissenschaftlichen Fachkräften für Daten einen Jupyter Notebook-Server, JupyterLab und eine vollständige Machine Learning-Umgebung bereitstellt.
Für eine Compute-Instanz muss nichts installiert oder konfiguriert werden.
In Ihrem Azure Machine Learning-Arbeitsbereich können Sie jederzeit eine Notebook-VM erstellen. Geben Sie einfach einen Namen und einen Azure-VM-Typ an. Versuchen Sie es jetzt mit Ressourcen erstellen, um loszulegen.
Weitere Informationen zu Compute-Instanzen, einschließlich der Installation von Paketen, finden Sie unter Erstellen und Verwalten einer Azure Machine Learning-Compute-Instanz.
Tipp
Halten Sie die Compute-Instanz an, um wiederkehrende Kosten für eine nicht genutzte Compute-Instanz zu vermeiden. Oder aktivieren Sie das Herunterfahren im Leerlauf für die Compute-Instanz.
Zusätzlich zu einem Jupyter Notebook-Server und JupyterLab können Sie Compute-Instanzen im integrierten Notebook-Feature in Azure Machine Learning Studio verwenden.
Sie können auch die Visual Studio Code-Erweiterung von Azure Machine Learning verwenden, um mithilfe von VS Code eine Verbindung mit einer entfernten Compute-Instanz herzustellen.
Virtueller Computer für Data Science
Die Data Science VM (DSVM) ist ein angepasstes VM-Image, das Sie als Entwicklungsumgebung verwenden können. Sie ist für Data-Science-Aufgaben konzipiert und mit folgenden Tools und folgender Software vorab konfiguriert:
- Pakete wie TensorFlow, PyTorch, Scikit-learn, XGBoost und das Azure Machine Learning SDK.
- Beliebte Data Science-Tools wie Spark (eigenständig) und Drill.
- Azure-Tools wie die Azure CLI, AzCopy und Storage-Explorer.
- Integrierte Entwicklungsumgebungen (IDEs), z.B. Visual Studio Code und PyCharm.
- Jupyter Notebook-Server
Eine umfassendere Liste der Tools finden Sie unter Welche Tools sind in Azure Data Science Virtual Machine enthalten?.
Wichtig
Wenn Sie eine DSVM als Computeziel für Trainings- oder Rückschlussaufträge verwenden möchten, wird nur Ubuntu unterstützt.
So verwenden Sie eine DSVM als Entwicklungsumgebung
Erstellen Sie mithilfe einer der folgenden Methoden eine DSVM:
Verwenden Sie das Azure-Portal, um eine DSVM-Instanz für Ubuntu oder Windows zu erstellen.
Verwenden der Azure-CLI
Verwenden Sie zum Erstellen einer DSVM unter Ubuntu den folgenden Befehl:
# create a Ubuntu Data Science VM in your resource group # note you need to be at least a contributor to the resource group in order to execute this command successfully # If you need to create a new resource group use: "az group create --name YOUR-RESOURCE-GROUP-NAME --location YOUR-REGION (For example: westus2)" az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --generate-ssh-keys --authentication-type password
Verwenden Sie den folgenden Befehl, um eine DSVM-Instanz für Windows zu erstellen:
# create a Windows Server 2016 DSVM in your resource group # note you need to be at least a contributor to the resource group in order to execute this command successfully az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:dsvm-windows:server-2016:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --authentication-type password
Aktivieren Sie die Conda-Umgebung, die das Azure Machine Learning SDK enthält.
Für eine DSVM mit Ubuntu:
conda activate py36
Für eine DSVM mit Windows:
conda activate AzureML
Erstellen Sie eine Konfigurationsdatei für den Arbeitsbereich, oder verwenden Sie eine vorhandene, um die DSVM so zu konfigurieren, dass der Azure Machine Learning-Arbeitsbereich genutzt wird.
Ähnlich wie bei lokalen Umgebungen können Sie Visual Studio Code und die Visual Studio Code-Erweiterung für Azure Machine Learning verwenden, um mit Azure Machine Learning zu interagieren.
Weitere Informationen finden Sie unter Data Science Virtual Machines.
Nächste Schritte
- Trainieren und Bereitstellen eines Modells in Azure Machine Learning mit dem MNIST-Dataset
- Weitere Informationen erhalten Sie in der Referenz zum Azure Machine Learning SDK für Python.