Skip to main content

Erste Schritte mit GitHub Codespaces für maschinelles Lernen

Erfahre mehr über die Arbeit an ML-Projekten mit GitHub Codespaces und den zugehörigen Tools.

Einführung

Dieser Leitfaden enthält eine Einführung in maschinelles Lernen mit GitHub Codespaces. Du erstellst eine einfache Imageklassifizierung, lernst einige der Tools kennen, die in GitHub Codespaces vorinstalliert sind, und du erfährst, wie du deinen Codespace in JupyterLab öffnest.

Erstellen einer einfachen Bildklassifizierung

Wir verwenden ein Jupyter-Notebook, um eine einfache Bildklassifizierung zu erstellen.

Jupyter-Notebooks sind Gruppen von Zellen, die nacheinander ausgeführt werden können. Das Notebook, das wir verwenden, enthält eine Reihe von Zellen, die eine Bildklassifizierung mithilfe von PyTorch erstellen. Jede Zelle ist eine andere Phase dieses Prozesses: Herunterladen eines Datasets, Einrichten eines neuronales Netzes, Trainieren eines Modells und anschließendes Testen dieses Modells.

Wir führen alle Zellen nacheinander aus, um alle Phasen zum Erstellen der Bildklassifizierung auszuführen. Dabei speichert Jupyter die Ausgabe zurück in das Notebook, damit du die Ergebnisse untersuchen kannst.

Einen Codespace erstellen

  1. Navigiere zum Vorlagenrepository github/codespaces-jupyter.

  2. Klicke auf Diese Vorlage verwenden und dann auf In einem Codespace öffnen.

    Screenshot der Schaltfläche Diese Vorlage verwenden und des erweiterten Dropdownmenüs, um die Option In Codespace öffnen anzuzeigen.

Ein Codespace für diese Vorlage wird in einer webbasierten Version von Visual Studio Code geöffnet.

Öffnen des Notebooks zur Bildklassifizierung

Das von GitHub Codespaces verwendete Standardcontainerimage umfasst eine Reihe von ML-Bibliotheken, die in deinem Codespace vorinstalliert sind. Dazu gehören beispielsweise Numpy, pandas, SciPy, Matplotlib, seaborn, scikit-learn, Keras, PyTorch, Requests und Plotly. Weitere Informationen zum Standardimage findest du unter Einführung in Entwicklungscontainer und im Repository devcontainers/images.

  1. Schließe im VS Code-Editor alle angezeigten Registerkarten „Erste Schritte“.
  2. Öffne die Notebook-Datei notebooks/image-classifier.ipynb.

Erstellen der Bildklassifizierung

Das Notebook zur Bildklassifizierung enthält den gesamten Code, den du benötigst, um ein Dataset herunterzuladen, ein neuronales Netz zu trainieren und die Leistung zu bewerten.

  1. Klicke auf Alle ausführen, um alle Zellen des Notebooks auszuführen.

    Screenshot des oberen Teils der Editor-Registerkarte für die Datei „image-classifier.ipynb“. Ein Cursor wird über eine Schaltfläche mit der Bezeichnung „Alle ausführen“ bewegt.

  2. Wenn du aufgefordert wirst, eine Kernelquelle auszuwählen, wähle Python-Umgebungen und dann die Version von Python am empfohlenen Speicherort aus.

    Screenshot der Dropdownliste „Python-Umgebung auswählen“. Die erste Option in der Liste der Python-Versionen lautet „Empfohlen“.

  3. Scrolle nach unten, um die Ausgabe der einzelnen Zellen anzuzeigen.

    Screenshot der Zelle im Editor mit der Überschrift „Schritt 3: Trainieren des Netzwerks und Speichern des Modells“

Öffnen deines Codespace in JupyterLab

Du kannst deinen Codespace in JupyterLab über die Seite „Deine Codespaces“ unter github.com/codespaces oder mithilfe der GitHub CLI öffnen. Weitere Informationen findest du unter Öffnen eines vorhandenen Codespaces.

Die JupyterLab-Anwendung muss in dem Codespace installiert sein, den du öffnest. Das Standard-Dev-Containerimage enthält JupyterLab, sodass bei Codespaces, die mithilfe des Standardimages erstellt wurden, JupyterLab immer installiert ist. Weitere Informationen zum Standardimage findest du unter Einführung in Entwicklungscontainer und im devcontainers/images-Repository. Wenn du nicht das Standardimage in deiner Entwicklungscontainerkonfiguration verwendest, kannst du JupyterLab installieren, indem du das Feature ghcr.io/devcontainers/features/python zur Datei devcontainer.json hinzufügst. Du solltest die Option "installJupyterlab": true einfügen. Weitere Informationen findest du in der Infodatei für das Feature python im Repository devcontainers/features.

Konfigurieren von NVIDIA CUDA für deinen Codespace

Hinweis: Dieser Abschnitt gilt nur für Kunden, die Codespaces auf Computern erstellen können, die eine GPU verwenden. Die Möglichkeit, einen Computertyp auszuwählen, der eine GPU verwendet, wurde ausgewählten Kunden während eines Testzeitraums angeboten. Diese Option ist nicht allgemein verfügbar.

Einige Software erfordert die Installation von NVIDIA CUDA, damit die GPU deines Codespace verwendet werden kann. Wenn dies der Fall ist, kannst du deine eigene benutzerdefinierte Konfiguration erstellen, indem du eine devcontainer.json-Datei verwendest und angibst, dass CUDA installiert werden soll. Weitere Informationen zum Erstellen einer benutzerdefinierten Konfiguration findest du unter Einführung in Entwicklungscontainer.

Ausführliche Informationen zu dem Skript, das ausgeführt wird, wenn du das nvidia-cuda-Feature hinzufügst, findest du im Repository devcontainers/features.

  1. Öffne in einem Codespace die Datei .devcontainer/devcontainer.json im Editor.

  2. Füge ein features-Objekt auf oberster Ebene mit den folgenden Inhalten hinzu:

    JSON
      "features": {
        "ghcr.io/devcontainers/features/nvidia-cuda:1": {
          "installCudnn": true
        }
      }
    

    Weitere Informationen zum features-Objekt findest du in der Spezifikation für Entwicklungscontainer.

    Wenn du die Datei devcontainer.json aus dem Bildklassifizierungsrepository verwendest, das du für dieses Tutorial erstellt hast, sieht die Datei devcontainer.json nun wie folgt aus:

    {
      "customizations": {
        "vscode": {
          "extensions": [
            "ms-python.python",
            "ms-toolsai.jupyter"
          ]
        }
      },
      "features": {
        "ghcr.io/devcontainers/features/nvidia-cuda:1": {
          "installCudnn": true
        }
      }
    }
    
  3. Speichere die Änderungen.

  4. Greife auf die VS Code Command Palette (UMSCHALT+COMMAND+P / STRG+UMSCHALT+P) zu, und beginne dann mit der Eingabe von „rebuild“. Klicke auf Codespaces: Container neu erstellen.

    Screenshot: Befehlspalette mit dem Eintrag „rebuild“ im Textfeld und der im Dropdownmenü hervorgehobenen Option „Codespaces: Container neu erstellen“

    Tipp: Führe gelegentlich eine vollständige Neuerstellung durchführen, um deinen Cache zu löschen und deinen Container mit neuen Images neu zu erstellen. Weitere Informationen findest du unter Neuerstellen des Containers in einem Codespace.

Der Codespacecontainer wird neu erstellt. Dies dauert einige Minuten. Wenn die Neuerstellung abgeschlossen ist, wird der Codespace automatisch erneut geöffnet.

  1. Veröffentliche die Änderung in einem Repository, damit CUDA in allen neuen Codespaces installiert wird, die du in Zukunft von diesem Repository aus erstellst. Weitere Informationen findest du unter Erstellen eines Codespaces aus einer Vorlage.