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

# spaCy

> WandbLogger 設定を使用して、W&B を spaCy v3 と統合し、トレーニング メトリクスを追跡して、モデルとデータセットをバージョン管理します。

[spaCy](https://spacy.io) は、人気のある「実運用レベル」の NLP ライブラリで、高速かつ高精度な モデル をほとんど手間なく利用できます。spaCy v3 以降では、W\&B を [`spacy train`](https://spacy.io/api/cli#train) と併用して、spaCy モデル のトレーニング メトリクス を追跡し、モデル とデータセット を保存およびバージョン管理できるようになりました。しかも、設定ファイルに数行追加するだけで利用できます。

<div id="sign-up-and-create-an-api-key">
  ## サインアップして API キーを作成する
</div>

API キーはあなたのマシンを W\&B に対して認証します。API キーはユーザープロフィールから作成できます。

<Note>
  より手早く行うには、[User Settings](https://wandb.ai/settings) に直接アクセスしてAPIキーを作成してください。新しく作成したAPIキーはすぐにコピーし、パスワードマネージャーなどの安全な場所に保存してください。
</Note>

1. 画面右上のユーザープロフィールアイコンをクリックします。
2. **User Settings** を選択し、**API Keys** セクションまでスクロールします。

<div id="install-the-wandb-library-and-log-in">
  ## `wandb` ライブラリをインストールしてログインする
</div>

ローカル環境で `wandb` ライブラリをインストールし、ログインするには、次の手順を実行します。

<Tabs>
  <Tab title="Command Line">
    1. `WANDB_API_KEY` [環境変数](/ja/models/track/environment-variables/) を自分の API キー に設定します。

       ```bash theme={null}
       export WANDB_API_KEY=<your_api_key>
       ```

    2. `wandb` ライブラリをインストールしてログインします。

       ```shell theme={null}
       pip install wandb

       wandb login
       ```
  </Tab>

  <Tab title="Python">
    ```bash theme={null}
    pip install wandb
    ```

    ```python theme={null}
    import wandb
    wandb.login()
    ```
  </Tab>

  <Tab title="Python notebook">
    ```notebook theme={null}
    !pip install wandb

    import wandb
    wandb.login()
    ```
  </Tab>
</Tabs>

<div id="add-the-wandblogger-to-your-spacy-config-file">
  ## spaCy の config ファイルに `WandbLogger` を追加する
</div>

spaCy の config ファイルは、ロギングだけでなく、GPU の割り当て、オプティマイザーの選択、データセットのパスなど、トレーニングに関するあらゆる設定を指定するために使用されます。最低限として、`[training.logger]` 配下でキー `@loggers` に値 `"spacy.WandbLogger.v3"` を指定し、さらに `project_name` を指定する必要があります。

<Note>
  spaCy のトレーニング用 config ファイルの仕組みや、トレーニングをカスタマイズするために渡せるその他のオプションについては、[spaCy's documentation](https://spacy.io/usage/training) を参照してください。
</Note>

```python theme={null}
[training.logger]
@loggers = "spacy.WandbLogger.v3"
project_name = "my_spacy_project"
remove_config_values = ["paths.train", "paths.dev", "corpora.train.path", "corpora.dev.path"]
log_dataset_dir = "./corpus"
model_log_interval = 1000
```

| Name                   | Description                                                                                                                                                                               |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `project_name`         | `str`。W\&B Project の名前。まだ存在しない場合は、その Project が自動的に作成されます。                                                                                                                                 |
| `remove_config_values` | `List[str]`。W\&B にアップロードする前に config から除外する値のリスト。デフォルトは `[]`。                                                                                                                              |
| `model_log_interval`   | `Optional int`。デフォルトは `None`。設定すると、[model versioning](/ja/models/registry/) と [Artifacts](/ja/models/artifacts/) によるモデルのバージョン管理が有効になります。モデルのチェックポイントをログする間隔 (ステップ数) を指定します。デフォルトは `None`。 |
| `log_dataset_dir`      | `Optional str`。パスを指定すると、トレーニング開始時にそのデータセットが Artifact としてアップロードされます。デフォルトは `None`。                                                                                                         |
| `entity`               | `Optional str`。指定した場合、run は指定された entity 内に作成されます。                                                                                                                                         |
| `run_name`             | `Optional str`。指定した場合、run は指定された名前で作成されます。                                                                                                                                                |

<div id="start-training">
  ## トレーニングを開始する
</div>

spaCy のトレーニング設定に `WandbLogger` を追加したら、通常どおり `spacy train` を実行できます。

<Tabs>
  <Tab title="コマンドライン">
    ```python theme={null}
    python -m spacy train \
        config.cfg \
        --output ./output \
        --paths.train ./train \
        --paths.dev ./dev
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    python -m spacy train \
        config.cfg \
        --output ./output \
        --paths.train ./train \
        --paths.dev ./dev
    ```
  </Tab>

  <Tab title="Python notebook">
    ```notebook theme={null}
    !python -m spacy train \
        config.cfg \
        --output ./output \
        --paths.train ./train \
        --paths.dev ./dev
    ```
  </Tab>
</Tabs>

トレーニングが始まると、トレーニング run の [W\&Bページ](/ja/models/runs/) へのリンクが出力されます。このリンクを開くと、W\&B Web UI のこの run の実験管理 [ダッシュボード](/ja/models/track/workspaces/) に移動できます。
