はじめに
カスタムメトリクスをログする
run.log() を呼び出せます。例: run.log({"custom": 0.8})
TensorBoard と同期している場合、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 サイクル、CO2 排出を無駄にして実験をやり直す必要がありません。
- 高速で柔軟なインテグレーション: W&B をあなたのプロジェクトに 5 分で追加できます。無料のオープンソース Python パッケージをインストールして、コードに数行追加するだけで、モデルを実行するたびにメトリクスや記録が自動でログに残ります。
- 永続的で一元化されたダッシュボード: ローカルマシン、共有ラボのクラスタ、クラウドのスポットインスタンスなど、どこでモデルを学習していても、結果は同じ一元的なダッシュボードに集約されます。異なるマシンから TensorBoard のファイルをコピーして整理するのに時間を費やす必要はありません。
- 強力なテーブル機能: 異なるモデルの結果を検索、フィルタ、ソート、グループ化できます。何千ものモデルバージョンを一覧し、さまざまなタスクに対して最も性能の良いモデルを見つけるのが容易です。TensorBoard は大規模なプロジェクトでうまく動作するようには設計されていません。
- コラボレーションのためのツール: W&B を使って複雑な機械学習プロジェクトを整理できます。W&B へのリンクを簡単に共有でき、プライベートなチームを使って全員が結果を共有のプロジェクトに送ることもできます。さらに、レポートを通じたコラボレーションもサポートしています — 対話的な可視化を追加し、Markdown で作業内容を説明できます。これは作業ログを残したり、上司と成果を共有したり、ラボやチームに成果を提示したりするのに最適な方法です。
例
- GitHub 上の例: TensorFlow Estimators を使用した MNIST の例
- GitHub 上の例: 素の TensorFlow を使用した Fashion MNIST の例
- W&B ダッシュボード: W&B 上で結果を表示
- TensorFlow 2 における学習ループのカスタマイズ - 記事 | ダッシュボード