Einrichten eines Labs zum Vermitteln von Data Science mit Python und Jupyter Notebooks

In diesem Artikel wird beschrieben, wie Sie in Azure Lab Services eine Vorlage für eine virtuelle Maschine (VM) einrichten, die Tools enthält, mit denen Sie Schülern die Verwendung von Jupyter Notebooks beibringen können. Außerdem erfahren Sie, wie Labbenutzer auf Ihren virtuellen Maschinen eine Verbindung mit Notebooks herstellen können.

Jupyter Notebooks ist ein Open-Source-Projekt, mit dem Sie problemlos Rich-Text und ausführbaren Python-Quellcode in einer einzelnen Canvas kombinieren können, die als Notebook bezeichnet wird. Führen Sie ein Notebook aus, um einen linearen Datensatz von Eingaben und Ausgaben zu erstellen. Diese Ausgaben können Text, Tabellen mit Informationen, Punktdiagramme und mehr enthalten.

Hinweis

Dieser Artikel bezieht sich auf Features, die in Labkonten verfügbar sind, welche durch Labpläne ersetzt wurden.

Voraussetzungen

  • Zum Einrichten dieses Labs müssen Sie auf ein Azure-Abonnement zugreifen können. Besprechen Sie mit dem Administrator Ihrer Organisation, ob Sie Zugang zu einem vorhandenen Azure-Abonnement erhalten können. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Konfigurieren von Lab-Planeinstellungen

Nachdem Sie über ein Azure-Abonnement verfügen, können Sie einen neuen Labplan in Azure Lab Services erstellen. Weitere Informationen zum Erstellen eines neuen Labplans finden Sie unter Schnellstart: Erstellen von Ressourcen, die Sie für die ersten Schritte mit Azure Lab Services benötigen. Sie können auch einen vorhandenen Labplan verwenden.

In diesem Labor wird eines der Data Science Virtual Machine-Bilder als Basis-VM-Bild verwendet. Diese Bilder sind in Azure Marketplace verfügbar. Auf diese Weise können Lab-Ersteller das Bild dann als Basisbild für ihr Lab auswählen. Sie müssen diese Bilder zunächst in Ihrem Lab-Plan aktivieren.

Führen Sie die folgenden Schritte aus, um diese für Lab-Ersteller verfügbaren Azure Marketplace-Images zu aktivieren.

  • Wählen Sie je nach den Anforderungen Ihres Betriebssystems eines der folgenden Azure Marketplace-Bilder aus:

    • Data Science Virtual Machine – Windows Server 2019/Windows Server 2022
    • Data Science Virtual Machine – Ubuntu 20.04
  • Erstellen Sie alternativ ein benutzerdefiniertes VM-Image:

    Die Data Science VM-Bilder in Azure Marketplace sind bereits mit Jupyter Notebooks konfiguriert. Diese Bilder enthalten jedoch auch zahlreiche andere Entwicklungs- und Modellierungstools für Data Science. Wenn Sie diese zusätzlichen Tools nicht wünschen und ein einfaches Setup nur mit Jupyter Notebooks möchten, erstellen Sie ein benutzerdefiniertes VM-Bild. Ein Beispiel ist unter Installieren von JupyterHub in Azure zu finden.

    Nachdem das benutzerdefinierte Image erstellt wurde, können Sie es in einen Computekatalog hochladen, um es mit Azure Lab Services zu verwenden. Informieren Sie sich ausführlicher über die Verwendung eines Computekatalogs in Azure Lab Services.

Erstellen eines Labs

Konfiguration des Vorlagencomputers

Nachdem Sie ein Lab erstellt haben, wird eine Vorlagen-VM basierend auf der Größe der VM und dem Image erstellt, das Sie ausgewählt haben. Sie konfigurieren die Vorlagen-VM mit allem, was Sie den Lernenden für diese Klasse zur Verfügung stellen möchten. Weitere Informationen finden Sie unter Erstellen und Verwalten einer Vorlage in Azure Lab Services.

Die Data Science VM-Images werden mit vielen Data Science-Frameworks und -Tools bereitgestellt, die für diese Art von Klasse erforderlich sind. Die Images umfassen beispielsweise Folgendes:

  • Jupyter Notebooks: Eine Webanwendung, die es Datenwissenschaftlern ermöglicht, Rohdaten zu erfassen, Berechnungen durchzuführen und die Ergebnisse in derselben Umgebung anzuzeigen. Sie wird lokal auf der Vorlagen-VM ausgeführt.
  • Visual Studio Code: Eine IDE, die eine umfangreiche interaktive Benutzeroberfläche zum Schreiben und Testen einer Notebook-Instanz bietet. Weitere Informationen finden Sie unter Arbeiten mit Jupyter-Notebooks in Visual Studio Code.

Das Data Science Virtual Machine – Ubuntu-Bild wird mit dem X2Go-Server bereitgestellt, um Lab-Benutzern die Nutzung eines grafischen Desktop-Erlebnisses zu ermöglichen.

Aktivieren von Tools zur Verwendung von GPUs

Wenn Sie die Größe Alternative kleine GPU (Compute) verwenden, sollten Sie überprüfen, ob die Data Science-Frameworks und -Bibliotheken ordnungsgemäß für die Verwendung von GPUs eingerichtet sind. Sie müssen möglicherweise eine andere Version des NVIDIA-Treibers und des CUDA-Toolkits installieren. Um die GPUs zu konfigurieren, sollten Sie die Dokumentation des Frameworks oder der Bibliothek lesen.

Um beispielsweise zu überprüfen, ob TensorFlow die GPU verwendet, stellen Sie eine Verbindung mit der Vorlagen-VM her und führen den folgenden Python-TensorFlow-Code in Jupyter Notebook-Instanzen aus:

import tensorflow as tf
from tensorflow.python.client import device_lib

print(device_lib.list_local_devices())

Wenn die Ausgabe dieses Codes wie das folgende Ergebnis aussieht, verwendet TensorFlow nicht die GPU:

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 15833696144144374634
]

Wenn Sie mit diesem Beispiel fortfahren, finden Sie eine Anleitung unter TensorFlow GPU-Unterstützung. Im TensorFlow-Leitfaden ist Folgendes abgedeckt:

Nachdem Sie die Schritte von TensorFlow zum Konfigurieren der GPU ausgeführt haben, sollten Sie beim erneuten Ausführen des Testcodes Ergebnisse sehen, die der folgenden Ausgabe ähneln.

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 15833696144144374634
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 11154792128
locality {
  bus_id: 1
  links {
  }
}
incarnation: 2659412736190423786
physical_device_desc: "device: 0, name: NVIDIA Tesla K80, pci bus id: 0001:00:00.0, compute capability: 3.7"
]

Bereitstellen von Notebook-Instanzen für die Klasse

Die nächste Aufgabe besteht darin, Notebook-Instanzen für Labbenutzer bereitzustellen, die verwendet werden sollen. Sie können Notebooks lokal auf der Vorlagen-VM speichern, sodass jeder Labbenutzer über eine eigene Kopie verfügt.

Beispiele für Notebook-Instanzen aus Azure Machine Learning finden Sie unter Konfigurieren einer Umgebung mit Jupyter Notebook.

Veröffentlichen der Vorlage-VM

Um den Lab VM für Lab-Benutzer verfügbar zu machen, veröffentlichen Sie die Vorlage. Die Lab-VM verfügt über alle lokalen Tools und Notebooks, die Sie zuvor konfiguriert haben.

Herstellen einer Verbindung mit Jupyter Notebooks

In den folgenden Abschnitten werden verschiedene Möglichkeiten aufgezeigt, wie Labbenutzer auf der Lab-VM eine Verbindung zu Jupyter Notebook-Instanzen herstellen können.

Verwendung von Jupyter Notebooks auf der Lab-VM

Labbenutzer können auf ihrem lokalen Computer eine Verbindung mit der Lab-VM herstellen und dann Jupyter Notebooks innerhalb der Lab-VM verwenden.

Wenn Sie eine Windows-basierte Lab-VM verwenden, können Labbenutzer über Remotedesktop (RDP) eine Verbindung mit ihren Lab-VMs herstellen. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einer Windows-Lab-VM.

Wenn Sie eine Linux-basierte Lab-VM verwenden, können Labbenutzer über SSH oder mit X2Go eine Verbindung mit ihren Lab-VMs herstellen. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einer Linux-Lab-VM.

SSH-Tunnel zu Jupyter-Server in der VM

Für Linux-basierte Labs können Sie auch direkt auf Ihrem lokalen Computer eine Verbindung mit dem Jupyter-Server innerhalb der Lab-VM herstellen. Das SSH-Protokoll ermöglicht die Portweiterleitung zwischen dem lokalen Computer und einem Remoteserver. Dies ist der Lab VM des Benutzers. Eine Anwendung, die an einem bestimmten Port auf dem Server läuft, wird an den Zuordnungsport auf dem lokalen Computer getunnelt.

Führen Sie die folgenden Schritte aus, um einen SSH-Tunnel zwischen dem lokalen Computer eines Benutzers und dem Jupyter-Server auf der Lab-VM zu konfigurieren:

  1. Navigieren Sie zur Azure Lab Services-Webseite.

  2. Stellen Sie sicher, dass die Linux-basierte Lab-VM ausgeführt wird.

  3. Wählen Sie Symbol Verbinden>Über SSH verbinden, um den SSH-Verbindungsbefehl abzurufen.

    Der SSH-Verbindungsbefehl sieht wie das folgende Beispiel aus:

    ssh -p 12345 student@ml-lab-00000000-0000-0000-0000-000000000000.eastus2.cloudapp.azure.com
    

    Erfahren Sie mehr über das Herstellen einer Verbindung mit einer Linux-VM.

  4. Starten Sie auf Ihrem lokalen Computer ein Terminal oder eine Eingabeaufforderung, und kopieren Sie die SSH-Verbindungszeichenfolge hinein. Fügen Sie dann -L 8888:localhost:8888 zur Befehlszeichenfolge hinzu, wodurch der Tunnel zwischen den Ports erstellt wird.

    Der letzte Befehl sollte wie im folgenden Beispiel aussehen.

    ssh –L 8888:localhost:8888 -p 12345 student@ml-lab-00000000-0000-0000-0000-000000000000.eastus.cloudapp.azure.com
    
  5. Drücken Sie die Eingabetaste, um den Befehl auszuführen.

  6. Wenn Sie dazu aufgefordert werden, geben Sie das Kennwort der Lab-VM zum Herstellen einer Verbindung mit der Lab-VM an.

  7. Wenn die Verbindung mit dem VM hergestellt ist, starten Sie den Jupyter-Server mit diesem Befehl:

    jupyter notebook
    

    Der Befehl gibt eine URL für den Jupyter-Server im Terminal aus. Die URL sollte wie folgt aussehen:

    http://localhost:8888/?token=8c09ecfc93e6a8cbedf9c66dffdae19670a64acc1d37
    
  8. Fügen Sie diese URL in einen Browser auf Ihrem lokalen Computer ein, um eine Verbindung herzustellen und auf Ihrem Jupyter Notebook zu arbeiten.

    Hinweis

    Visual Studio Code bietet auch eine großartige Jupyter Notebook-Bearbeitungsoberfläche. Sie können den Anweisungen in der Anleitung zum Herstellen einer Verbindung zu einem Jupyter-Remoteserver folgen und dieselbe URL aus dem vorherigen Schritt verwenden, um eine Verbindung über VS Code statt über den Browser herzustellen.

Schätzen von Kosten

Dieser Abschnitt enthält eine Kostenschätzung für die Ausführung dieser Klasse für 25 Labbenutzer. Es ist eine Kursdauer von 20 Stunden geplant. Zudem erhält jeder Benutzer ein Kontingent von 10 Stunden für Hausaufgaben und Aufgaben außerhalb der regulären Kurszeiten. Als Größe des VM wurde alternative kleine GPU (Compute) ausgewählt, was 139 Lab-Einheiten entspricht. Wenn Sie die kleine (20 Lab-Einheiten) oder die mittlere Größe (42 Lab-Einheiten) verwenden möchten, können Sie die entsprechenden Lab-Einheiten in der unten stehenden Gleichung durch die richtige Anzahl ersetzen.

Hier ist ein Beispiel für eine mögliche Kostenschätzung für diese Klasse: 25 lab users * (20 scheduled hours + 10 quota hours) * 139 lab units * 0.01 USD per hour = 1042.5 USD.

Wichtig

Diese Kostenschätzung dient ausschließlich zu Beispielzwecken. Weitere Informationen zu den aktuellen Preisen finden Sie unter Azure Lab Services – Preise.

In diesem Artikel haben Sie erfahren, wie Sie ein Lab für einen Jupyter Notebooks-Kurs erstellen und wie Benutzer auf der Lab-VM eine Verbindung mit ihren Notebooks herstellen können. Sie können ein ähnliches Setup für andere Machine Learning-Kurse verwenden.

Das Vorlagenimage kann jetzt im Lab veröffentlicht werden. Weitere Informationen finden Sie unter Veröffentlichen der Vorlagen-VM.

Lesen Sie folgende Artikel zum Einrichten des Labs: