Skip to main content
W&B Multi-tenant Cloud では、埋め込み TensorBoard を利用できます。
このページでは、TensorBoard のログを W&B に Sync する方法を説明します。これにより、TensorBoard のログをクラウドにアップロードし、結果を同僚やクラスメートと共有し、分析結果を一元的に管理できます。すでに TensorBoard にログしていて、クラウド上での可視化、共有、そして W&B システムメトリクスとの並べての比較を行いたい場合は、このインテグレーションを使用してください。
TensorBoard インテグレーションのコード

利用開始

TensorBoard の同期を有効にするには、W&B run を初期化するときに sync_tensorboard=True を設定します。トレーニングコードが出力する TensorBoard のイベントは、W&B によって自動的にアップロードされます。
TensorBoard インテグレーションの run の例をご覧ください。 run が完了すると、W&B で TensorBoard のイベントファイルにアクセスでき、ネイティブの W&B チャートでメトリクスを可視化できます。W&B はさらに、システムの CPU や GPU の使用率、git の状態、run で使用されたターミナルコマンドなどの追加情報も取得します。
W&B は、TensorFlow のすべてのバージョンで TensorBoard をサポートしています。さらに、PyTorch および TensorBoardX でも TensorBoard 1.14 以降をサポートしています。

よくある質問

以下のセクションでは、追加のメトリクスのログ、パッチの設定、過去の Runs の同期、ノートブック環境の使用など、TensorBoard インテグレーションのカスタマイズに関してよく寄せられる質問に回答します。

TensorBoard にログされていないメトリクスを W&B にログするにはどうすればよいですか?

TensorBoard にログされていない追加のカスタムメトリクスをログする必要がある場合は、コード内で wandb.Run.log() を呼び出します: run.log({"custom": 0.8}) TensorBoard を Sync している場合、run.log()step argument を設定する機能は無効になります。別の step 数を設定したい場合は、次のように step メトリクスと一緒にメトリクスをログできます。 run.log({"custom": 0.8, "global_step": global_step})

wandb と一緒に使う場合、TensorBoard はどのように設定すればよいですか?

W&B が TensorBoard にどのようにパッチを適用するかをより細かく制御したい場合は、wandb.init()sync_tensorboard=True を渡す代わりに、wandb.tensorboard.patch() を呼び出せます。
標準の TensorBoard にパッチを適用するには、この method に tensorboard_x=False を渡します。PyTorch で TensorBoard 1.14 より新しいバージョンを使用している場合は、pytorch=True を渡してパッチを適用します。これらのオプションには、import されている各ライブラリのバージョンに応じて適切なデフォルト値が自動的に設定されます。 デフォルトでは、W&B は tfevents ファイルと .pbtxt ファイルも Sync します。これにより、W&B が代わりに TensorBoard インスタンスを起動できます。run ページには TensorBoard タブ が表示されます。この動作を無効にするには、wandb.tensorboard.patchsave=False を渡します。
tf.summary.create_file_writer() を呼び出す前、または torch.utils.tensorboard から SummaryWriter を作成する前に、必ず wandb.init()wandb.tensorboard.patch() のいずれかを呼び出してください。

過去の TensorBoard run を Sync するにはどうすればよいですか?

ローカルに保存されている既存の tfevents ファイルがあり、それらを W&B にインポートしたい場合は、wandb sync log_dir を実行します。ここで、log_dirtfevents ファイルを含むローカルディレクトリです。

TensorBoard で Google Colab や Jupyter を使用するにはどうすればよいですか

Jupyter または Colab のノートブックでコードを実行している場合は、トレーニングの最後に必ず wandb.Run.finish() を呼び出してください。これにより wandb run が終了し、TensorBoard のログが W&B にアップロードされて可視化できるようになります。.py スクリプトを実行している場合は、スクリプトの終了時に wandb も自動的に終了するため、これは必要ありません。 ノートブック環境でシェルコマンドを実行するには、!wandb sync directoryname のように、先頭に ! を付ける必要があります。

PyTorch を TensorBoard で使用するにはどうすればよいですか?

PyTorch の TensorBoard インテグレーションを使用している場合は、PyTorch Profiler の JSON ファイルを手動でアップロードする必要がある場合があります。

クラウドに保存されている tfevents ファイルを Sync できますか?

wandb 0.20.0 以降では、S3、GCS、Azure に保存されている tfevents ファイルの Sync をサポートしています。wandb は各クラウドプロバイダーのデフォルト認証情報を使用します。次の表は、認証情報を設定するコマンドと、各プロバイダーで想定されるログディレクトリー形式を示しています。

Footnotes

  1. あわせて、環境変数 AZURE_STORAGE_ACCOUNTAZURE_STORAGE_KEY も設定する必要があります。