Skip to main content
Vous pouvez intégrer fastai à W&B à l’aide de la classe WandbCallback pour suivre les expériences, consigner des métriques et visualiser les performances du modèle pendant l’entraînement. Cette page explique comment configurer l’authentification, ajouter le callback à votre boucle d’entraînement et configurer la journalisation pour l’entraînement en processus unique comme pour l’entraînement distribué. Consultez cette documentation interactive avec exemples pour plus de détails.

Inscrivez-vous et créez une clé API

Une clé API sert à authentifier votre machine auprès de W&B. Vous pouvez générer une clé API à partir de votre profil utilisateur.
Pour une méthode plus directe, accédez aux Paramètres utilisateur et créez une clé API. Copiez immédiatement la clé API et conservez-la dans un endroit sûr, par exemple dans un gestionnaire de mots de passe.
  1. Cliquez sur l’icône de votre profil utilisateur dans le coin supérieur droit.
  2. Sélectionnez Paramètres utilisateur, puis faites défiler jusqu’à la section Clés API.

Installez la bibliothèque wandb et connectez-vous

Pour installer localement la bibliothèque wandb et vous connecter :
  1. Définissez la variable d’environnement WANDB_API_KEY sur votre clé API. Remplacez les valeurs entre <> par les vôtres :
  2. Installez la bibliothèque wandb, puis connectez-vous.

Ajoutez le WandbCallback au learner ou à la méthode fit

Pour commencer à journaliser vos runs d’entraînement fastai dans W&B, joignez le WandbCallback soit à un seul appel à fit, soit au learner lui-même.
Si vous utilisez la version 1 de fastai, consultez la documentation fastai v1.

Arguments de WandbCallback

Utilisez les arguments suivants pour contrôler ce que WandbCallback journalise pendant l’entraînement : Pour les flux de travail personnalisés, vous pouvez journaliser manuellement vos jeux de données et modèles :
  • log_dataset(path, name=None, metadata={})
  • log_model(path, name=None, metadata={})
Remarque : tout sous-dossier “models” est ignoré.

Entraînement distribué

fastai prend en charge l’entraînement distribué à l’aide du gestionnaire de contexte distrib_ctx. W&B le prend automatiquement en charge et vous permet de suivre vos expériences multi-GPU sans configuration supplémentaire. Les sections suivantes décrivent comment intégrer W&B à l’entraînement distribué et comment limiter la journalisation au processus principal. Voici un exemple minimal :
Ensuite, dans votre terminal, exécutez :
Dans ce cas, la machine dispose de 2 GPU.

Journalisez uniquement depuis le processus principal

Dans les exemples précédents, W&B lance un run par processus. À la fin de l’entraînement, vous avez deux runs. Cela peut parfois prêter à confusion, et vous pouvez vouloir journaliser uniquement depuis le processus principal. Pour ce faire, vous devez détecter manuellement dans quel processus vous vous trouvez et éviter de créer des runs (en appelant wandb.init() dans tous les autres processus).
Dans votre terminal, exécutez :

Exemples

Pour des démonstrations de bout en bout de l’intégration fastai, voir les références suivantes :