はじめに
すでに TensorBoard を使用している場合は、W&B と統合できます。両方のライブラリをインポートして、スクリプト内で W&B と TensorFlow の API を使用できるようにします。カスタムメトリクスをログする
このセクションでは、TensorBoard が取得しないメトリクスをログする方法を説明します。これにより、標準の TensorBoard サマリーとともに追加の値をトラッキングできます。 TensorBoard がログしないカスタムメトリクスを追加でログする必要がある場合は、コード内でrun.log() を呼び出せます。たとえば、run.log({"custom": 0.8}) のようにします。
W&B は TensorBoard との同期時に run.log() の step 引数を無効にします。異なる step 数を設定するには、次のように step メトリクスとともにメトリクスをログします。
TensorFlow Estimator のフック
このセクションでは、TensorFlow Estimator 用の W&B フックについて説明します。このフックを使用すると、Estimator のトレーニング中に W&B が取得する内容を細かく制御できます。 ログする内容をより細かく制御したい場合のために、W&B は TensorFlow Estimator 用のフックも提供しています。このフックは、グラフ内のすべてのtf.summary 値をログします。
手動でログする
estimator を使用していない場合や、特定のサマリーを明示的にログしたい場合、このセクションではtf.summary の値を W&B に直接送信する方法を説明します。
TensorFlow でメトリクスをログする方法の 1 つは、TensorFlow ロガーで tf.summary をログすることです。
tf.GradientTape の使用を推奨します。詳細は、TensorFlow のカスタムトレーニングのウォークスルーを参照してください。カスタム TensorFlow トレーニングループに W&B を組み込んでメトリクスをログするには、次のスニペットに従ってください。
W&B と TensorBoard の違い
TensorBoard と併用するか、TensorBoard の代わりに W&B を採用するかを検討している場合、このセクションでは主な違いを説明します。 W&B は、TensorBoard ユーザーが直面する一般的な制約に対処するために開発されました。W&B には次のような違いがあります。- モデルの再現: W&B は、実験、探索、後からのモデルの再現をサポートします。W&B はメトリクス、ハイパーパラメーター、コードのバージョンを取得し、バージョン管理のステータスやモデル チェックポイントを保存できるため、project の再現性を確保できます。
- 自動整理: 共同作業者から project を引き継ぐ場合、しばらく離れていた作業に戻る場合、過去の project を再び扱う場合に、W&B では試したモデルを確認できるため、不必要に実験をやり直す必要がありません。
- 柔軟なインテグレーション: オープンソースの Python パッケージをインストールし、コードに数行追加することで、project に W&B を追加できます。各 run でメトリクスがログされ、記録が作成されます。
- 永続的で一元化されたダッシュボード: ローカルマシン、研究室の共有クラスター、クラウドのスポットインスタンスのいずれでモデルをトレーニングしても、W&B は結果を同じ一元化されたダッシュボードに送信します。異なるマシンから TensorBoard ファイルをコピーして整理する必要はありません。
- Tables: 異なるモデルの結果を検索、フィルター、並べ替え、グループ化できます。モデルのバージョンを確認し、タスクごとに最も性能の高いモデルを検索できます。
- 共同作業のためのツール: W&B を使用して機械学習の project を整理します。W&B へのリンクを共有するか、プライベートチームを使用して共有 project に結果を送信します。Reports は、対話型の可視化と Markdown の説明を通じて共同作業をサポートします。これらを使用して、作業ログを残したり、上司と知見を共有したり、研究室やチームに知見を発表したりできます。
サンプル
これらのインテグレーションのパターンを完全な project に適用した例については、以下のサンプルをご覧ください。- TensorFlow Estimators を使用した MNIST のサンプル。
- TensorFlow を直接使用した Fashion MNIST のサンプル。
- MNIST サンプルの W&B ダッシュボード。
- TensorFlow 2 でのトレーニングループのカスタマイズ: 記事とダッシュボード。