Skip to main content
Cette page explique comment exécuter localement les algorithmes de recherche et d’arrêt d’un sweep plutôt que d’utiliser le contrôleur hébergé dans le cloud de W&B. Utilisez le contrôleur local pour inspecter et instrumenter le code afin de déboguer des problèmes ou de développer de nouveaux algorithmes que vous pourrez ensuite intégrer au contrôleur hébergé dans le cloud. Par défaut, W&B héberge le contrôleur d’hyperparamètres en tant que service cloud. Les agents W&B communiquent avec le contrôleur pour déterminer le prochain jeu de paramètres à utiliser pour l’entraînement. Le contrôleur exécute également des algorithmes d’arrêt anticipé pour déterminer les runs à arrêter. La fonctionnalité de contrôleur local vous permet d’exécuter localement les algorithmes de recherche et d’arrêt.
Cette fonctionnalité permet de développer et de déboguer plus rapidement de nouveaux algorithmes pour l’outil Sweeps. Elle n’est pas adaptée aux charges de travail d’optimisation d’hyperparamètres.

Prérequis

Installez le SDK W&B (wandb) pour disposer des commandes du contrôleur local :
Les exemples suivants partent du principe que vous disposez déjà d’un fichier de configuration et d’une boucle d’entraînement définis dans un script Python ou un notebook Jupyter. Pour plus d’informations, voir Définir la configuration de sweep.

Exécuter un contrôleur local depuis la ligne de commande

Initialisez un sweep comme vous le feriez avec les contrôleurs d’hyperparamètres hébergés par W&B en tant que service cloud, mais ajoutez l’option --controller pour utiliser le contrôleur local :
  1. Initialisez le sweep avec l’option --controller :
  2. Notez l’ID de sweep généré par wandb sweep, puis démarrez le contrôleur. Remplacez [SWEEP-ID] par l’ID du sweep. Vous pouvez indiquer uniquement l’ID court du sweep ou inclure l’entity et le projet sous forme de chemin ([ENTITY]/[PROJECT]/[SWEEP-ID]) :
  3. Démarrez un ou plusieurs agents de sweep pour exécuter le sweep. Remplacez [SWEEP-ID] par l’ID du sweep :
    Pour plus d’informations, voir Démarrer des agents de sweep.
Vous pouvez également ajouter le contrôleur à votre fichier de configuration pour ne pas avoir à passer --controller à chaque initialisation du sweep :
Initialisez ensuite le sweep sans l’option, puis passez aux étapes 2 et 3 :

Exécuter un contrôleur local avec le SDK Python W&B

Les extraits de code suivants montrent comment spécifier et utiliser un contrôleur local avec le SDK Python W&B. Chaque exemple offre un contrôle de plus en plus fin : vous pouvez ainsi choisir l’approche adaptée au degré de personnalisation dont vous avez besoin pour la recherche et la planification. Pour utiliser un contrôleur avec le SDK Python, transmettez l’ID du sweep à la méthode wandb.controller(), puis appelez la méthode run de l’objet renvoyé pour lancer le job de sweep :
Pour un contrôle plus fin de la boucle du contrôleur, exécutez-la vous-même étape par étape :
Pour contrôler encore plus finement les paramètres fournis, appelez directement search et schedule :
Pour définir votre sweep entièrement dans le code plutôt que dans un fichier de configuration YAML, configurez la recherche, le programme, le contrôleur et les paramètres en Python :
Dernière modification le 30 septembre 2026