Einrichten einer Python-Entwicklungsumgebung für Azure Machine Learning (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

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.

    Screenshot der Arbeitsbereichsübersichtsseite mit ausgewähltem Download config.json.

  • 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 Sie subscription_id, resource_group und workspace_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

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

  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

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

  1. Installieren Sie Visual Studio Code.

  2. 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:

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

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