Passer au contenu principal
Ce tutoriel explique comment créer des jobs de sweep à partir d’un projet W&B existant. Il vous guide dans la création d’un projet de référence, la configuration d’un sweep d’hyperparamètres et le lancement d’agents qui exécutent des tâches d’entraînement en parallèle. Vous utilisez le jeu de données Fashion MNIST pour entraîner un réseau neuronal convolutif PyTorch à classer des images. Le dépôt W&B examples (PyTorch CNN Fashion) fournit le code et le jeu de données requis. Explorez les résultats dans ce tableau de bord W&B.

Créer un projet

Commencez par créer un projet de référence en entraînant le modèle d’exemple au moins une fois. Cette référence fournit au sweep une base de configuration pour les étapes suivantes. Téléchargez le modèle d’exemple PyTorch pour le dataset MNIST depuis le dépôt GitHub W&B examples. Ensuite, entraînez le modèle. Le script d’entraînement se trouve dans le répertoire examples/pytorch/pytorch-cnn-fashion. Pour télécharger et entraîner le modèle d’exemple :
  1. Clonez le dépôt :
  2. Accédez au répertoire de l’exemple :
  3. Exécutez manuellement le script d’entraînement :
  4. Facultatif : explorez l’exemple dans le tableau de bord de W&B App. Voir une page de projet d’exemple.
Une fois cette exécution initiale terminée, vous disposez d’un projet de référence dans W&B sur lequel le sweep peut s’appuyer.

Créer un sweep

Une fois votre projet de référence en place, vous pouvez configurer un sweep à partir de ses runs. Depuis la page de votre projet, ouvrez l’onglet Sweep dans la barre latérale du projet et sélectionnez Create Sweep.
Page de projet W&B avec l’onglet Sweep ouvert et le bouton Create Sweep mis en évidence
La configuration générée automatiquement suggère des valeurs à tester pour le sweep en fonction des runs que vous avez déjà effectués. Modifiez la configuration pour spécifier les plages d’hyperparamètres que vous voulez essayer. Lorsque vous lancez le sweep, un nouveau processus démarre sur le serveur de sweep hébergé par W&B. Ce service centralisé coordonne les agents (les machines qui exécutent les tâches d’entraînement).
Éditeur de configuration de sweep générée automatiquement affichant des plages d’hyperparamètres

Lancez des agents

Après avoir configuré le sweep, lancez un ou plusieurs agents pour exécuter les runs. Vous pouvez lancer jusqu’à 20 agents en parallèle sur différentes machines pour terminer la tâche de sweep plus rapidement. Chaque agent affiche le prochain ensemble de paramètres à utiliser.
Sortie du terminal d'un agent de balayage affichant le prochain ensemble d'hyperparamètres
Vous avez maintenant un sweep en cours d’exécution qui coordonne les tâches d’entraînement entre vos agents et transmet les résultats à W&B. L’image suivante montre le tableau de bord avec la tâche de sweep d’exemple en cours d’exécution.
Tableau de bord du sweep affichant les métriques de runs d'entraînement parallèles

Amorcer un nouveau sweep avec des runs existants

Pour réutiliser des résultats antérieurs comme point de départ, lancez un nouveau sweep à l’aide de runs existants que vous avez précédemment enregistrés :
  1. Ouvrez le tableau de votre projet.
  2. Cliquez sur la case à cocher de la ligne du run pour sélectionner ce run.
  3. Dans le menu déroulant, sélectionnez l’option pour créer un nouveau sweep.
Votre sweep est maintenant configuré sur le serveur. Lancez un ou plusieurs agents pour démarrer les runs.
Tableau des runs du projet avec des lignes sélectionnées et l'option de création d'un sweep dans le menu déroulant
Si vous démarrez le nouveau sweep en tant que sweep bayésien, les runs sélectionnés servent également à initialiser le processus gaussien.