Skip to main content

Bien démarrage avec GitHub Codespaces pour le Machine Learning

Découvrez comment travailler sur des projets Machine Learning avec GitHub Codespaces et ses outils prêts à l’emploi.

Introduction

Ce guide vous présente le Machine Learning avec GitHub Codespaces. Vous allez générer un classifieur d’images simple, découvrir certains des outils qui sont préinstallés dans GitHub Codespaces et trouver comment ouvrir votre codespace dans JupyterLab.

Génération d’un classifieur d’images simple

Nous allons utiliser un notebook Jupyter pour générer un classifieur d’images simple.

Les notebooks Jupyter sont des ensembles de cellules que vous pouvez exécuter l’une après l’autre. Le notebook que nous allons utiliser comprend un certain nombre de cellules qui génèrent un classifieur d’images à l’aide de PyTorch. Chaque cellule est une phase différente de ce processus : télécharger un jeu de données, configurer un réseau neuronal, entraîner un modèle, puis tester ce modèle.

Nous allons exécuter toutes les cellules, l’une après l’autre, pour effectuer toutes les phases de génération du classifieur d’images. Lorsque nous effectuons cette opération, Jupyter enregistre la sortie dans le notebook pour vous permettre d’examiner les résultats.

Création d’un codespace

  1. Accédez au dépôt de modèles github/codespaces-jupyter.

  2. Cliquez sur Utiliser ce modèle, puis sur Ouvrir dans un codespace.

    Capture d’écran du bouton « Utiliser ce modèle » et du menu déroulant développé pour afficher l’option « Ouvrir dans un codespace ».

Un codespace pour ce modèle s’ouvre dans une version web de Visual Studio Code.

Ouverture du notebook du classifieur d’images

L’image conteneur par défaut utilisée par GitHub Codespaces inclut un ensemble de bibliothèques de Machine Learning préinstallées dans votre codespace. Par exemple, Numpy, pandas, SciPy, Matplotlib, seaborn, scikit-learn, Keras, PyTorch, Requests et Plotly. Pour plus d’informations sur l’image par défaut, consultez « Présentation des conteneurs de développement » et le référentiel devcontainers/images.

  1. Dans l’éditeur VS Code, fermez tous les onglets « Bien démarrer. » qui s’affichent.
  2. Ouvrez le fichier de notebook notebooks/image-classifier.ipynb.

Génération du classifieur d’images

Le notebook du classifieur d’images contient tout le code dont vous avez besoin pour télécharger un jeu de données, entraîner un réseau neuronal et évaluer ses performances.

  1. Cliquez sur Exécuter tout pour exécuter toutes les cellules du notebook.

    Capture d’écran du haut de l’onglet de l’éditeur du fichier « image-classifier.ipynb ». Un curseur pointe sur un bouton intitulé « Tout exécuter ».

  2. Si vous êtes invité à choisir une source de noyau, sélectionnez Environnements Python, puis sélectionnez la version de Python à l’emplacement recommandé.

    Capture d’écran de la liste déroulante « Sélectionner un environnement Python ». La première option dans la liste des versions de Python est intitulée « Recommandé ».

  3. Faites défiler l’écran vers le bas pour voir la sortie de chaque cellule.

    Capture d’écran de la cellule dans l’éditeur, avec le titre « Étape 3 : Entraîner le réseau et enregistrer le modèle ».

Ouverture de votre codespace dans JupyterLab

Vous pouvez ouvrir votre codespace dans JupyterLab à partir de la page « Vos codespaces » à l’adresse github.com/codespaces ou en utilisant GitHub CLI. Pour plus d’informations, consultez « Ouverture d’un codespace existant ».

L’application JupyterLab doit être installée dans le codespace que vous ouvrez. L’image conteneur de développeur par défaut comprend JupyterLab, donc les codespaces créés à partir de l’image par défaut ont toujours JupyterLab installé. Pour plus d’informations sur l’image par défaut, consultez « Présentation des conteneurs de développement » et le dépôt devcontainers/images. Si vous n’utilisez pas l’image par défaut dans votre configuration de conteneur de développement, vous pouvez installer JupyterLab en ajoutant le composant ghcr.io/devcontainers/features/python à votre fichier devcontainer.json. Vous devez inclure l’option "installJupyterlab": true. Pour plus d’informations, consultez le fichier README du composant python dans le dépôt devcontainers/features.

Configuration de NVIDIA CUDA pour votre codespace

Remarque : Cette section s’applique uniquement aux clients qui peuvent créer des codespaces sur des machines utilisant un GPU. La possibilité de choisir un type de machine qui utilise un GPU a été proposée à une sélection de clients pendant une période d’essai. Cette option n’est pas en disponibilité générale.

Certains logiciels exigent que vous installiez NVIDIA CUDA pour utiliser le GPU de votre codespace. Dans ce cas, vous pouvez créer votre propre configuration personnalisée à l’aide d’un fichier devcontainer.json et spécifier que CUDA doit être installé. Pour plus d’informations sur la création d’une configuration personnalisée, consultez « Présentation des conteneurs de développement ».

Pour obtenir les détails complets du script qui est exécuté lorsque vous ajoutez la fonctionnalité nvidia-cuda, consultez le dépôt devcontainers/features.

  1. Dans le codespace, ouvrez le fichier .devcontainer/devcontainer.json dans l’éditeur.

  2. Ajoutez un objet features de niveau supérieur avec le contenu suivant :

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

    Pour plus d’informations sur l’objet features, consultez la spécification de conteneurs de développement.

    Si vous utilisez le fichier devcontainer.json à partir du dépôt de classifieur d’images que vous avez créé pour ce tutoriel, votre fichier devcontainer.json ressemble maintenant à ceci :

    {
      "customizations": {
        "vscode": {
          "extensions": [
            "ms-python.python",
            "ms-toolsai.jupyter"
          ]
        }
      },
      "features": {
        "ghcr.io/devcontainers/features/nvidia-cuda:1": {
          "installCudnn": true
        }
      }
    }
    
  3. Enregistrez la modification.

  4. Accédez à la VS Code Command Palette (Maj+Commande+P / Ctrl+Maj+P), puis commencez à taper « regénérer ». Cliquez sur Codespaces : Regénérer le conteneur.

    Capture d’écran de la palette de commandes avec « régénérer le conteneur » saisi dans la zone de texte et l’option « Codespace : Regénérer le conteneur » mise en évidence dans la liste déroulante.

    Conseil : vous souhaiterez parfois effectuer une régénération complète pour vider votre cache et régénérer votre conteneur avec de nouvelles images. Pour plus d’informations, consultez « Regénération du conteneur dans un codespace ».

Le conteneur de codespace est regénéré. Ceci peut prendre plusieurs minutes. Une fois la regénération terminée, le codespace est rouvert automatiquement.

  1. Publiez votre modification dans un dépôt afin que CUDA soit installé dans tous les codespaces que vous créez ensuite à partir de ce dépôt. Pour plus d’informations, consultez « Création d’un codespace à partir d’un modèle ».