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

# init()

export const GitHubLink = ({url}) => <a href={url} target="_blank" rel="noopener noreferrer" className="github-source-link">
    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
      <path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" />
    </svg>
    GitHub のソース
  </a>;

<GitHubLink url="https://github.com/wandb/wandb/blob/main/wandb/sdk/wandb_init.py" />

### <kbd>関数</kbd> `init`

```python theme={null}
init(
    entity: 'str | None' = None,
    project: 'str | None' = None,
    dir: 'StrPath | None' = None,
    id: 'str | None' = None,
    name: 'str | None' = None,
    notes: 'str | None' = None,
    tags: 'Sequence[str] | None' = None,
    config: 'dict[str, Any] | str | None' = None,
    config_exclude_keys: 'list[str] | None' = None,
    config_include_keys: 'list[str] | None' = None,
    allow_val_change: 'bool | None' = None,
    group: 'str | None' = None,
    job_type: 'str | None' = None,
    mode: "Literal['online', 'offline', 'disabled', 'shared'] | None" = None,
    force: 'bool | None' = None,
    reinit: "bool | Literal[None, 'default', 'return_previous', 'finish_previous', 'create_new']" = None,
    resume: "bool | Literal['allow', 'never', 'must', 'auto'] | None" = None,
    resume_from: 'str | None' = None,
    fork_from: 'str | None' = None,
    save_code: 'bool | None' = None,
    tensorboard: 'bool | None' = None,
    sync_tensorboard: 'bool | None' = None,
    monitor_gym: 'bool | None' = None,
    settings: 'Settings | dict[str, Any] | None' = None,
    anonymous: 'DoNotSet' = <object object at 0x104fe52d0>
) → Run
```

W\&B でトラッキングし、ログするための新しい run を開始します。

ML のトレーニングパイプラインでは、トレーニングスクリプトと評価スクリプトの先頭に `wandb.init()` を追加できます。すると、それぞれが W\&B で run としてトラッキングされます。

`wandb.init()` は、run にデータをログするための新しいバックグラウンドプロセスを起動します。また、デフォルトでデータを [https://wandb.ai](https://wandb.ai) に Sync するため、結果をリアルタイムで確認できます。データのログが完了したら、`run.finish()` を呼び出して run を終了するか、run をコンテキストマネージャーとして使用して自動的に呼び出します:

with wandb.init() as run:  ...  # ブロックの最後で run.finish() が実行されます

`run.finish()` を呼び出さない場合、スクリプトの終了時に run も終了します。

run ID には、次の特殊文字を含めることはできません `/ \ # ? % :`

**引数:**

* `entity`:  run のログ先となるユーザー名またはチーム名です。entity はあらかじめ存在している必要があるため、run のログを開始する前に、UI でアカウントまたはチームを作成しておいてください。指定しない場合、run にはデフォルトの entity が使用されます。デフォルトの entity を変更するには、Settings に移動し、"Default team" の下にある "Default location to create new projects" を更新してください。
* `project`:  この run がログされるプロジェクト名。指定しない場合は、git ルートや現在のプログラムファイルを確認するなど、システムに基づくヒューリスティックを使用してプロジェクト名を推定します。プロジェクト名を推定できない場合、プロジェクトのデフォルト値は  `"uncategorized"` になります。
* `dir`: 実験のログとメタデータファイルが保存されるディレクトリの絶対パスです。指定しない場合、デフォルトは `./wandb` ディレクトリです。なお、`download()` の呼び出し時に Artifacts の保存先には影響しません。
* `id`:  再開時に使用する、この run の一意の ID です。プロジェクト内で一意である必要があり、run を削除すると再利用できません。短い説明用の名前には `name` フィールドを使用し、run 間で比較するためのハイパーパラメーターを保存するには `config` を使用します。
* `name`: この run の短い表示名で、識別しやすいように UI に表示されます。デフォルトでは、表や chart 間で run を簡単に照合できるよう、ランダムな 2 語の名前を生成します。run 名は簡潔にしておくと、chart の凡例や Tables で読みやすくなります。ハイパーパラメーターを保存する場合は、`config` フィールドの使用を推奨します。
* `notes`:  run の詳細な説明です。Git のコミットメッセージのようなものです。将来、この run の目的や設定を思い出すのに役立つコンテキストや詳細を記録するために、この引数を使用してください。
* `tags`:  UI でこの run にラベルを付けるためのタグのリストです。タグは、Runs を整理したり、"baseline" や  "本番" のような一時的な識別子を追加したりするのに便利です。UI では、タグの追加や削除、タグでのフィルターを簡単に行えます。run を再開する場合、ここで指定したタグは既存のタグを置き換えます。現在のタグを上書きせずに再開した run にタグを追加するには、`run = wandb.init()` を呼び出した後に `run.tags += ("new_tag",)` を使用します。
* `config`:  `wandb.config` を設定します。これは、モデルのハイパーパラメーターやデータ前処理の設定など、run の入力パラメーターを保存するための辞書のようなオブジェクトです。  この設定は UI の Overview ページに表示され、これらのパラメーターに基づいて Runs をグループ化、フィルター、並べ替えできるようになります。  キーにはピリオド (`.`) を含めないでください。また、値は 10 MB 未満である必要があります。  辞書、`argparse.Namespace`、または `absl.flags.FLAGS` が指定されている場合、キーと値のペアは直接 `wandb.config` に読み込まれます。  文字列が指定されている場合は YAML ファイルへのパスとして解釈され、そのファイルから設定値が `wandb.config` に読み込まれます。
* `config_exclude_keys`:  `wandb.config` から除外する特定のキーの一覧。
* `config_include_keys`:  `wandb.config` に含める特定のキーを指定するリスト。
* `allow_val_change`: 初回設定後に設定値を変更できるかどうかを制御します。デフォルトでは、設定値を上書きすると例外が発生します。学習率のようにトレーニング中に変化する変数をトラッキングする場合は、代わりに `wandb.log()` を使用することを検討してください。デフォルトでは、スクリプトでは `False`、Notebook 環境では `True` です。
* `group`: より大きな実験の一部として個々のrunを整理するためのグループ名を指定します。これは、交差検証や、異なるテストセットでモデルをトレーニングして評価する複数のジョブを実行する場合などに役立ちます。グループ化により、関連するrunをUI上でまとめて管理でき、1つの実験として結果を簡単に切り替えて確認できます。
* `job_type`:  run のタイプを指定します。特に、より大きな実験の一部としてグループ内で runs を整理する際に役立ちます。たとえば、グループ内では、runs に "train" や "eval" などのジョブタイプのラベルを付けることがあります。ジョブタイプを定義すると、UI で類似した runs を簡単にフィルターしてグループ化でき、直接比較しやすくなります。
* `mode`:  run データの管理方法を指定します。使用できるオプションは次のとおりです。
  * `"online"` (デフォルト) : ネットワーク接続が利用可能な場合に、W\&B とのライブ Sync を有効にし、可視化をリアルタイムで更新します。
  * `"offline"`: エアギャップ環境またはオフライン環境に適しています。データはローカルに保存され、後で Sync できます。今後 Sync できるように、run フォルダーを保持しておいてください。
  * `"disabled"`: すべての W\&B 機能を無効にし、run の method を no-op にします。通常は、W\&B の operation をバイパスするためのテストで使用されます。
  * `"shared"`:  (実験的な機能です) 。異なるマシン上の場合も含め、複数のプロセスが同じ run に同時にログできるようにします。この方法では、プライマリノードと 1 つ以上のワーカーノードを使用して、同じ run にデータをログします。プライマリノードでは run を初期化します。各ワーカーノードでは、プライマリノードで使用した run ID を使用して run を初期化します。
* `force`:  スクリプトの実行に W\&B へのログインを必須とするかどうかを指定します。`True` の場合、ユーザーは W\&B にログインしている必要があり、ログインしていない場合はスクリプトは続行されません。`False` (デフォルト) の場合、ユーザーがログインしていなくてもスクリプトは続行され、その場合はオフラインモードに切り替わります。
* `reinit`:  "reinit" 設定の短縮形です。run がアクティブな場合の `wandb.init()` の挙動を決定します。
* `resume`:  指定した`id`で run を再開する際の動作を制御します。  利用可能なオプションは次のとおりです:
  * `"allow"`: 指定した`id`のrunが存在する場合は、最後のstepから再開します。存在しない場合は、新しいrunを作成します。
  * `"never"`: 指定した`id`のrunが存在する場合は、エラーになります。該当するrunが見つからない場合は、新しいrunを作成します。
  * `"must"`: 指定した`id`のrunが存在する場合は、最後のstepから再開します。runが見つからない場合は、エラーになります。
  * `"auto"`: このマシン上で前回のrunがクラッシュした場合は自動的に再開し、それ以外の場合は新しいrunを開始します。
  * `True`: 非推奨です。代わりに`"auto"`を使用してください。
  * `False`: 非推奨です。常に新しいrunを開始するには、デフォルトの動作 (`resume`を未設定のままにする) を使用してください。`resume`が設定されている場合、`fork_from`と`resume_from`は使用できません。`resume`が未設定の場合、システムは常に新しいrunを開始します。
* `resume_from`:  `{run_id}?_step={step}` 形式で、以前のrunの特定の時点からrunを再開する位置を指定します。これにより、ユーザーは中間のstep時点でrunにログされた履歴を切り詰め、そのstepからログを再開できます。対象のrunは同じプロジェクト内にある必要があります。  `id` 引数も指定した場合は、`resume_from` 引数が優先されます。  `resume`、`resume_from`、`fork_from` は同時に使用できず、一度に使用できるのはいずれか1つだけです。  この機能はベータ版であり、今後変更される可能性があることに注意してください。
* `fork_from`:  `{id}?_step={step}` 形式で、以前の run のどの時点から新しい run をフォークするかを指定します。これにより、対象 run の履歴内の指定した step からログを再開する新しい run が作成されます。  対象の run は現在のプロジェクトに含まれている必要があります。  `id` 引数も指定する場合、その値は `fork_from` 引数とは異なる必要があります。同じ場合はエラーになります。  `resume`、`resume_from`、`fork_from` は同時に使用できず、一度に使用できるのはいずれか 1 つだけです。  この機能はベータ版のため、今後変更される可能性がある点に注意してください。
* `save_code`:  メインのスクリプトまたはノートブックをW\&Bに保存し、experimentの再現性を高め、UIでrun間でのコード比較を可能にします。デフォルトでは無効になっていますが、Settingsページでデフォルト設定を変更して有効にできます。
* `tensorboard`:  非推奨です。代わりに `sync_tensorboard` を使用してください。
* `sync_tensorboard`:  TensorBoard または TensorBoardX から W\&B のログを自動的に同期し、関連するイベントファイルを保存して W\&B UI で参照できるようにします。
* `monitor_gym`:  OpenAI Gym の使用時に、環境の動画を自動的にログする機能を有効にします。
* `settings`: 高度なrunの設定を含む辞書または `wandb.Settings` オブジェクトを指定します。

**戻り値:**
`Run` オブジェクト。

**送出される例外:**

* `Error`:  run の初期化中に不明なエラーまたは内部エラーが発生した場合。
* `AuthenticationError`:  ユーザーが有効な認証情報を提供できなかった場合。
* `CommError`:  W\&B サーバーとの通信で問題が発生した場合。
* `UsageError`:  ユーザーが無効な引数を指定した場合。
* `KeyboardInterrupt`:  ユーザーが run を中断した場合。

**例:**
`wandb.init()` は `Run` オブジェクトを返します。run オブジェクトを使用してデータをログし、Artifacts を保存し、run のライフサイクルを管理できます。

```python theme={null}
import wandb

config = {"lr": 0.01, "batch_size": 32}
with wandb.init(config=config) as run:
    # 精度と損失を run にログする
    acc = 0.95  # 精度の例
    loss = 0.05  # 損失の例
    run.log({"accuracy": acc, "loss": loss})
```
