Skip to main content
W&B prend en charge TensorBoard intégré pour W&B Cloud mutualisé.
Cette page explique comment synchroniser les journaux TensorBoard avec W&B afin que vous puissiez téléverser vos journaux TensorBoard dans le cloud, partager vos résultats avec vos collègues et camarades de classe et conserver votre analyse au même endroit. Utilisez cette intégration si vous journalisez déjà dans TensorBoard et souhaitez bénéficier d’une visualisation hébergée dans le cloud, du partage et d’une comparaison côte à côte avec les métriques système de W&B.
Code d’intégration TensorBoard

Premiers pas

Pour activer la synchronisation de TensorBoard, définissez sync_tensorboard=True lorsque vous initialisez un run W&B. W&B téléverse automatiquement tous les événements TensorBoard émis par votre code d’entraînement.
Consultez un exemple de run avec intégration TensorBoard. Une fois votre run terminé, vous pouvez accéder à vos fichiers d’événements TensorBoard dans W&B et visualiser vos métriques dans les graphiques natifs de W&B. W&B capture également des informations supplémentaires telles que l’utilisation du CPU ou du GPU du système, l’état de git et la commande de terminal utilisée pour le run.
W&B prend en charge TensorBoard avec toutes les versions de TensorFlow. W&B prend également en charge TensorBoard 1.14 et les versions ultérieures avec PyTorch, ainsi que TensorBoardX.

Questions fréquentes

Les sections suivantes répondent aux questions les plus courantes sur la personnalisation de l’intégration TensorBoard, notamment la journalisation de métriques supplémentaires, la configuration du patch, la synchronisation de runs historiques et l’utilisation d’environnements notebook.

Comment puis-je consigner dans W&B des métriques qui ne sont pas enregistrées dans TensorBoard ?

Si vous devez consigner des métriques personnalisées supplémentaires qui ne sont pas enregistrées dans TensorBoard, vous pouvez appeler wandb.Run.log() dans votre code : run.log({"custom": 0.8}). Le paramètre step dans run.log() est désactivé lors de la synchronisation avec TensorBoard. Si vous souhaitez définir un nombre d’étapes différent, vous pouvez consigner les métriques avec une métrique d’étape, comme suit : run.log({"custom": 0.8, "global_step": global_step})

Comment puis-je configurer TensorBoard lorsque je l’utilise avec wandb ?

Si vous voulez mieux contrôler la manière dont W&B applique un patch à TensorBoard, appelez wandb.tensorboard.patch() au lieu de passer sync_tensorboard=True à wandb.init().
Pour patcher le TensorBoard standard, passez tensorboard_x=False à cette méthode. Si vous utilisez TensorBoard version ultérieure à 1.14 avec PyTorch, passez pytorch=True pour le patcher. Ces deux options ont des valeurs par défaut intelligentes selon les versions de ces bibliothèques qui ont été importées. Par défaut, W&B synchronise également les fichiers tfevents ainsi que tous les fichiers .pbtxt. Cela permet à W&B de lancer une instance TensorBoard pour votre compte. Vous verrez un onglet TensorBoard sur la page du run. Pour désactiver ce comportement, passez save=False à wandb.tensorboard.patch.
Vous devez appeler soit wandb.init(), soit wandb.tensorboard.patch() avant d’appeler tf.summary.create_file_writer() ou d’instancier un SummaryWriter à partir de torch.utils.tensorboard.

Comment puis-je synchroniser d’anciens runs TensorBoard ?

Si vous avez des fichiers tfevents déjà stockés localement et que vous souhaitez les importer dans W&B, vous pouvez exécuter wandb sync log_dir, où log_dir est un répertoire local contenant les fichiers tfevents.

Comment puis-je utiliser Google Colab ou Jupyter avec TensorBoard ?

Si vous exécutez votre code dans un notebook Jupyter ou Colab, assurez-vous d’appeler wandb.Run.finish() à la fin de votre entraînement. Cela met fin au run wandb et téléverse les journaux TensorBoard dans W&B pour qu’ils puissent être visualisés. Cela n’est pas nécessaire lorsque vous exécutez un script .py, car wandb se termine automatiquement à la fin du script. Pour exécuter des commandes shell dans un environnement de notebook, vous devez les faire précéder d’un !, comme dans !wandb sync directoryname.

Comment puis-je utiliser PyTorch avec TensorBoard ?

Si vous utilisez l’intégration TensorBoard de PyTorch, vous devrez peut-être importer manuellement le fichier JSON de PyTorch Profiler.

Puis-je synchroniser des fichiers tfevents stockés dans le cloud ?

wandb 0.20.0 et les versions ultérieures prennent en charge la synchronisation des fichiers tfevents stockés dans S3, GCS ou Azure. wandb utilise les identifiants par défaut de chaque fournisseur cloud. Le tableau suivant répertorie la commande permettant de configurer les identifiants ainsi que le format attendu du répertoire des journaux pour chaque fournisseur :

Footnotes

  1. Vous devez également définir les variables d’environnement AZURE_STORAGE_ACCOUNT et AZURE_STORAGE_KEY.