> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-serverless-sft-revamp.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# コード の保存と差分表示

デフォルトでは、W\&B は最新の git コミットハッシュのみを保存します。追加のコード機能を有効にすると、UI 上で動的に Experiments 間のコードを比較できるようになります。

`wandb` バージョン 0.8.28 以降、W\&B は `wandb.init()` を呼び出したメインのトレーニングファイルのコードを保存できます。

## ライブラリコードの保存

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

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

```python theme={null}
import wandb

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

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

```python theme={null}
import wandb

# settings 引数に code_dir を指定して初期化
wandb.init(settings=wandb.Settings(code_dir="."))
```

これにより、カレントディレクトリおよびすべてのサブディレクトリ内にあるすべての Python ソースコードファイルが [Artifacts](/models/ref/python/experiments/artifact) としてキャプチャされます。保存するソースコードファイルの種類や場所をより細かく制御するには、[リファレンスドキュメント](/models/ref/python/experiments/run#log_code) を参照してください。

### 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** を選択します。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-serverless-sft-revamp/QsApub3CFB__RjRV/images/app_ui/code_comparer.png?fit=max&auto=format&n=QsApub3CFB__RjRV&q=85&s=103f1cdf083876d2c4c394a0439315ee" alt="Code comparer panel" width="887" height="337" data-path="images/app_ui/code_comparer.png" />
</Frame>

## Jupyter セッション履歴

W\&B は、Jupyter Notebook セッションで実行されたコードの履歴を保存します。Jupyter 内で **wandb.init()** を呼び出すと、W\&B はフックを追加して、現在のセッションで実行されたコードの履歴を含む Jupyter Notebook を自動的に保存します。

1. コードが含まれているプロジェクトの Workspace に移動します。
2. 左側のナビゲーションバーにある **Artifacts** タブを選択します。
3. **code** アーティファクトを展開します。
4. **Files** タブを選択します。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-serverless-sft-revamp/QsApub3CFB__RjRV/images/app_ui/jupyter_session_history.gif?s=6090b800a089c38f32f4c031f9d56b24" alt="Jupyter session history" width="3868" height="2574" data-path="images/app_ui/jupyter_session_history.gif" />
</Frame>

これにより、セッションで実行されたセルと、iPython の display メソッドを呼び出すことによって作成された出力が表示されます。これにより、特定の run において Jupyter 内でどのようなコードが実行されたかを正確に確認できます。可能な場合は、W\&B はノートブックの最新バージョンも保存し、それも code ディレクトリーに保存されます。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-serverless-sft-revamp/QsApub3CFB__RjRV/images/app_ui/jupyter_session_history_display.png?fit=max&auto=format&n=QsApub3CFB__RjRV&q=85&s=19805c5db35a6719579a9c92ff55ba66" alt="Jupyter session output" width="3826" height="1840" data-path="images/app_ui/jupyter_session_history_display.png" />
</Frame>
