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 rĂ©fĂ©rentiel 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, voir le LISEZMOI de la fonctionnalitĂ© python, dans le rĂ©fĂ©rentiel devcontainers/features.

Configuration de NVIDIA CUDA pour votre codespace

Remarque

Cette section ne s'applique qu'aux clients qui peuvent crĂ©er des espaces de code 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 une recherche pour « regĂ©nĂ©rer le conteneur Â» et l’option « Codespace : regĂ©nĂ©rer le conteneur Â» est 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.

  5. 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 Â».