メインコンテンツへスキップ
デフォルトでは、W&B は最新の git コミットハッシュのみを保存します。追加のコード機能を有効にすると、UI 上で動的に Experiments 間のコードを比較できるようになります。 wandb バージョン 0.8.28 以降、W&B は wandb.init() を呼び出したメインのトレーニングファイルのコードを保存できます。

ライブラリコードの保存

コード保存を有効にすると、W&B は wandb.init() を呼び出したファイルのコードを保存します。追加のライブラリコードを保存するには、次の 3 つのオプションがあります。

wandb.init() の呼び出し後に wandb.Run.log_code(".") を呼び出す

import wandb

# wandb.init() を実行し、run オブジェクトを取得
with wandb.init() as run:
  # カレントディレクトリのコードをログに記録
  run.log_code(".")

code_dir を設定した settings オブジェクトを wandb.init() に渡す

import wandb

# settings 引数に code_dir を指定して初期化
wandb.init(settings=wandb.Settings(code_dir="."))
これにより、カレントディレクトリおよびすべてのサブディレクトリ内にあるすべての Python ソースコードファイルが Artifacts としてキャプチャされます。保存するソースコードファイルの種類や場所をより細かく制御するには、リファレンスドキュメント を参照してください。

UI でコード保存を設定する

プログラムでコード保存を設定するだけでなく、W&B アカウントの Settings でこの機能を切り替えることもできます。これにより、アカウントに関連付けられているすべての Teams でコード保存が有効になることに注意してください。
デフォルトでは、W&B はすべての Teams に対してコード保存を無効にしています。
  1. W&B アカウントにログインします。
  2. Settings > Privacy に移動します。
  3. Project and content security の下にある Disable default code saving をオフに切り替えます。

Code comparer

異なる W&B Runs で使用されたコードを比較します:
  1. ページ右上の Add panels ボタンを選択します。
  2. TEXT AND CODE ドロップダウンを展開し、Code を選択します。
Code comparer panel

Jupyter セッション履歴

W&B は、Jupyter Notebook セッションで実行されたコードの履歴を保存します。Jupyter 内で wandb.init() を呼び出すと、W&B はフックを追加して、現在のセッションで実行されたコードの履歴を含む Jupyter Notebook を自動的に保存します。
  1. コードが含まれているプロジェクトの Workspace に移動します。
  2. 左側のナビゲーションバーにある Artifacts タブを選択します。
  3. code アーティファクトを展開します。
  4. Files タブを選択します。
Jupyter session history
これにより、セッションで実行されたセルと、iPython の display メソッドを呼び出すことによって作成された出力が表示されます。これにより、特定の run において Jupyter 内でどのようなコードが実行されたかを正確に確認できます。可能な場合は、W&B はノートブックの最新バージョンも保存し、それも code ディレクトリーに保存されます。
Jupyter session output