メインコンテンツへスキップ
ノートブックを離れることなく、W&B を Jupyter と併用してインタラクティブな 可視化 を活用しましょう。カスタム 分析 、 実験管理 、プロトタイプを組み合わせ、そのすべてを完全に ログ 記録できます。

Jupyter ノートブックで W&B を使用するユースケース

  1. 反復的な実験: 手動でメモを取ることなく、 パラメータ を微調整しながら 実験管理 を繰り返し実行し、すべての run を自動的に W&B に保存します。
  2. コードの保存: モデル を再現する際、ノートブックのどのセルがどの順序で実行されたかを確認するのは困難です。設定ページ で コード 保存を有効にすると、各 実験管理 のセル実行記録を保存できます。
  3. カスタム分析: run が W&B に ログ 記録されると、API から データフレーム を取得してカスタム 分析 を行い、その 結果 を W&B に ログ 記録して Reports で保存・共有することが簡単にできます。

ノートブックでの始め方

ノートブックの冒頭に以下の コード を記述して、W&B のインストールとアカウントの連携を行います。
!pip install wandb -qqq
import wandb
wandb.login()
次に、 実験管理 をセットアップし、 ハイパーパラメーター を保存します。
wandb.init(
    project="jupyter-projo",
    config={
        "batch_size": 128,
        "learning_rate": 0.01,
        "dataset": "CIFAR-100",
    },
)
wandb.init() を実行した後、新しいセルを %%wandb で始めると、ノートブック内でライブグラフを表示できます。このセルを複数回実行すると、 データ はその run に追記されます。
%%wandb

# ここにトレーニングループを記述
こちらの サンプルノートブック で実際に試してみてください。
Jupyter W&B widget

ノートブック内で直接 W&B インターフェースをレンダリングする

%wandb マジックコマンドを使用して、既存の ダッシュボード 、 Sweeps 、 Reports をノートブック内に直接表示することも可能です。
# プロジェクトの Workspace を表示
%wandb USERNAME/PROJECT
# 単一の run を表示
%wandb USERNAME/PROJECT/runs/RUN_ID
# sweep を表示
%wandb USERNAME/PROJECT/sweeps/SWEEP_ID
# report を表示
%wandb USERNAME/PROJECT/reports/REPORT_ID
# 埋め込み iframe の高さを指定
%wandb USERNAME/PROJECT -h 2048
%%wandb%wandb マジックの代わりに、 wandb.init() の実行後、任意のセルの最後に wandb.Run.finish() を記述してインライングラフを表示させたり、API から返された Reports 、 Sweeps 、 run オブジェクト に対して ipython.display(...) を呼び出したりすることもできます。
import wandb
from IPython.display import display
# run を初期化
run = wandb.init()

# セルが run.finish() を出力すると、ライブグラフが表示されます
run.finish()
W&B でできることについてさらに詳しく知りたいですか? データとメディアのログ記録ガイド を確認するか、 お気に入りの ML ツールキットとのインテグレーション方法 を学ぶか、 リファレンスドキュメントサンプルリポジトリ を直接ご覧ください。

W&B における追加の Jupyter 機能

  1. Colab での簡単な認証: Colab で初めて wandb.init を呼び出す際、ブラウザで W&B にログインしていれば、自動的にランタイムの認証が行われます。 run ページの Overviewタブ には、その Colab へのリンクが表示されます。
  2. Jupyter マジック: ダッシュボード 、 Sweeps 、 Reports をノートブック内で直接表示します。 %wandb マジックは プロジェクト 、 Sweeps 、 Reports へのパスを受け取り、W&B インターフェースをノートブックに直接レンダリングします。
  3. docker化された Jupyter の起動: wandb docker --jupyter を呼び出すと、 dockerコンテナ を起動し、 コード をマウントして Jupyter がインストールされていることを確認し、ポート 8888 で起動します。
  4. セルの実行順序を気にせず実行: デフォルトでは、次に wandb.init が呼び出されるまで run を finished とマークせずに待機します。これにより、複数のセル(例えば、 データ セットアップ用、 トレーニング 用、テスト用など)を任意の順序で実行し、すべてを同じ run に ログ 記録できます。 ユーザー設定 で コード 保存を有効にすると、実行されたセルを実行順かつ実行時の状態で ログ 記録するため、非線形な パイプライン でも再現が可能になります。 Jupyter ノートブックで手動で run を完了させるには、 run.finish を呼び出します。
import wandb

run = wandb.init()

# トレーニングスクリプトとログ記録をここに記述

run.finish()