Einrichten einer Python-Entwicklungsumgebung für Azure Machine Learning

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 ist vorinstalliert), aber mit zusätzlichen 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 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. Zusätzliche Kosten für den virtuellen Linux-Computer (virtueller Computer kann bei Nichtverwendung beendet werden, um Gebühren zu vermeiden). Preisdetails finden Sie hier.

Dieser Artikel enthält außerdem zusätzliche Anwendungstipps für die 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 eine Sprachunterstützung für Python sowie Features, mit denen die Arbeit mit Azure Machine Learning wesentlich bequemer und produktiver wird.

Voraussetzungen

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 MLClient.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 Machine Learning Studio

    Laden Sie die Datei herunter:

    1. Melden Sie sich bei Azure Machine Learning Studio an.
    2. Wählen Sie auf der oben rechts angezeigten Azure Machine Learning Studio-Symbolleiste den Namen Ihres Arbeitsbereichs aus.
    3. Wählen Sie den Link Konfigurationsdatei herunterladen aus.

    Screenshot: Herunterladen der Konfigurationsdatei

  • Python-SDK für Azure Machine Learning

    Erstellen Sie ein Skript zum Herstellen einer Verbindung mit Ihrem Azure Machine Learning-Arbeitsbereich. Achten Sie darauf, dass Sie subscription_id, resource_group und workspace_name durch Ihre eigenen Werte ersetzen.

    GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)

    #import required libraries
    from azure.ai.ml import MLClient
    from azure.identity import DefaultAzureCredential
    
    #Enter details of your Azure Machine Learning workspace
    subscription_id = '<SUBSCRIPTION_ID>'
    resource_group = '<RESOURCE_GROUP>'
    workspace = '<AZUREML_WORKSPACE_NAME>'
    
    #connect to the workspace
    ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, workspace)
    

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

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

  2. Aktivieren Sie Ihre neu erstellte virtuelle Python-Umgebung.

  3. Installieren Sie das Python SDK für Azure Machine Learning.

  4. 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 im Tutorial: Azure Machine Learning in einem Tag.

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.

  1. Aktivieren umgebungsspezifischer IPython-Kernel

    conda install notebook ipykernel
    
  2. 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)"
    
  3. Starten des Jupyter Notebook-Servers

Tipp

Beispielnotebooks finden Sie im Repository für AzureML-Beispiele. SDK-Beispiele finden Sie unter /sdk/python. Beispielsweise das Beispiel Konfigurationsnotebook.

Visual Studio Code

So verwenden Visual Studio Code für die Entwicklung

  1. Installieren Sie Visual Studio Code.
  2. Installieren Sie die Visual Studio Code-Erweiterung für Azure Machine Learning (Vorschau).

Nachdem Sie die Visual Studio Code-Erweiterung installiert haben, verwenden Sie sie zu Folgendem:

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 einer Azure Machine Learning-Compute-Instanz.

Tipp

Aktivieren Sie das Herunterfahren im Leerlauf, um Gebühren für eine nicht verwendete Compute-Instanz zu vermeiden.

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

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

    • Erstellen Sie eine DSVM mithilfe von ARM-Vorlagen.

    • 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
      
  2. Erstellen Sie eine Conda-Umgebung für das Azure Machine Learning SDK:

    conda create -n py310 python=310
    
  3. Sobald die Umgebung erstellt wurde, aktivieren Sie sie und installieren das SDK.

    conda activate py310
    pip install azure-ai-ml azure-identity
    
  4. 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.

    Tipp

    Ä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