はじめに
カスタムメトリクスをログする
run.log() を呼び出します。run.log({"custom": 0.8})
TensorBoard を Sync している場合、run.log() で step 引数を設定する機能は無効になります。別の step 数を設定したい場合は、次のように step メトリクスを指定してメトリクスをログできます。
TensorFlow Estimator 用フック
tf.summary の値をログします。
手動でログする
tf.summary をログすることです。
tf.GradientTape を使用する方法が推奨されています。詳細は、TensorFlow custom training walkthrough を参照してください。カスタムの TensorFlow トレーニングループに wandb を組み込んでメトリクスをログしたい場合は、次のスニペットを参照してください。
W&B は TensorBoard とどう違うのですか?
- モデルの再現性: W&B は、実験、探索、そして後からモデルを再現する用途に適しています。メトリクスだけでなく、ハイパーパラメーターやコードのバージョンも記録し、さらにバージョン管理のステータスやモデル チェックポイントも保存できるため、プロジェクトの再現性を確保できます。
- 自動整理: 共同作業者からプロジェクトを引き継ぐときでも、休暇後に作業へ戻るときでも、しばらく触っていなかった古いプロジェクトを見直すときでも、W&B を使えば、これまで試したすべてのモデルを簡単に把握できます。そのため、実験をやり直すことで時間や GPU リソース、さらには炭素排出を無駄にせずに済みます。
- 高速で柔軟なインテグレーション: 5 分で W&B をプロジェクトに追加できます。無償のオープンソース Python パッケージをインストールし、コードに数行追加するだけで、モデルを実行するたびに、見やすく整理されたメトリクスと記録が自動的にログされます。
- 永続的で一元化されたダッシュボード: モデルをどこでトレーニングしていても、ローカルマシンでも、共有ラボのクラスターでも、クラウド上のスポットインスタンスでも、結果は同じ一元化されたダッシュボードに集約されます。異なるマシンから TensorBoard のファイルをコピーして整理するのに時間をかける必要はありません。
- 強力な Tables: 異なるモデルの結果を検索、フィルター、並べ替え、グループ化できます。何千ものモデル バージョンを見渡して、さまざまなタスクで最も高性能なモデルを簡単に見つけられます。TensorBoard は大規模なプロジェクトでの利用に十分対応できるようには設計されていません。
- コラボレーションのためのツール: 複雑な機械学習プロジェクトの整理に W&B を活用できます。W&B へのリンクは簡単に共有でき、非公開の Teams を使えば、全員が結果を同じ共有プロジェクトに送れます。さらに、Reports を使ったコラボレーションにも対応しています。インタラクティブな可視化を追加し、作業内容を Markdown で記述できます。これは、作業ログを残したり、発見したことを指導教員や上司と共有したり、研究室やチームに成果を報告したりするのに最適な方法です。
例
- GitHub の例: TensorFlow Estimators を使用した MNIST の例
- GitHub の例: 素の TensorFlow を使用した Fashion MNIST の例
- Wandb ダッシュボード: W&B で結果を見る
- TensorFlow 2 でのカスタムトレーニングループのカスタマイズ - 記事 | ダッシュボード