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

# Experiments の概要

> 実験のトラッキングと Artifacts の管理に使用する、W&B Python SDK の基本クラス

これらのクラスは、機械学習 Experiments のトラッキング、Artifacts の管理、SDK の動作設定を行うための中核的な構成要素です。これらの基本クラスを使うと、メトリクスをログし、モデル チェックポイントを保存し、データセットをバージョン管理し、高い再現性とコラボレーション機能を備えた実験設定を管理できます。

> ML Experiments でこれらのクラスを使用する方法について詳しくは、[Experiments](/ja/models/ref/python/experiments/) および [Artifacts](/ja/models/artifacts/) のドキュメントを参照してください。

<div id="core-classes">
  ## コアクラス
</div>

| クラス                                                       | 説明                                                             |
| --------------------------------------------------------- | -------------------------------------------------------------- |
| [`Run`](/ja/models/ref/python/experiments/run/)           | W\&B にログされる計算の主要な単位で、メトリクス、設定、出力を含む単一の ML 実験を表します。             |
| [`Artifact`](/ja/models/ref/python/experiments/artifact/) | データセットとモデルのバージョン管理のための、柔軟で軽量な基本要素です。自動重複排除とリネージのトラッキングを備えています。 |
| [`Settings`](/ja/models/ref/python/experiments/settings/) | W\&B SDK の設定を管理し、ログすることから API とのやり取りまでの動作を制御します。               |

<div id="getting-started">
  ## はじめに
</div>

<div id="track-an-experiment">
  ### 実験をトラッキングする
</div>

メトリクスをログしながら、機械学習実験を作成してトラッキングします。

```python theme={null}
import wandb

# 新しいrunを初期化する
with wandb.init(project="my-experiments", config={"learning_rate": 0.001}) as run:
    # 設定にアクセスする
    config = run.config
    
    # トレーニング中にメトリクスをログする
    for epoch in range(10):
        metrics = train_one_epoch()  # トレーニングロジックをここに記述
        run.log({
            "loss": metrics["loss"],
            "accuracy": metrics["accuracy"],
            "epoch": epoch
        })
    
    # サマリーメトリクスをログする
    run.summary["best_accuracy"] = max_accuracy
```

<div id="version-a-model-artifact">
  ### モデル artifact をバージョン管理する
</div>

メタデータ付きの、バージョン管理されたモデル artifact を作成してログします:

```python theme={null}
import wandb

with wandb.init(project="my-models") as run:
    # モデルをトレーニングする
    model = train_model()
    
    # モデルのartifactを作成する
    model_artifact = wandb.Artifact(
        name="my-model",
        type="model",
        description="ResNet-50 trained on ImageNet subset",
        metadata={
            "architecture": "ResNet-50",
            "dataset": "ImageNet-1K",
            "accuracy": 0.95
        }
    )
    
    # artifactにモデルファイルを追加する
    model_artifact.add_file("model.pt")
    model_artifact.add_dir("model_configs/")
    
    # artifactをW&Bにログする
    run.log_artifact(model_artifact)
```

<div id="configure-sdk-settings">
  ### SDK設定を行う
</div>

要件に合わせて、W\&B SDKの動作をカスタマイズします。

```python theme={null}
import wandb

# プログラムで設定を構成する
wandb.Settings(
    project="production-runs",
    entity="my-team",
    mode="offline",  # オフラインで実行し、後でSyncする
    save_code=True,   # ソースコードを保存する
    quiet=True        # コンソール出力を抑制する
)

# または環境変数を使用する
# export WANDB_PROJECT=production-runs
# export WANDB_MODE=offline

# カスタム設定で初期化する
with wandb.init() as run:
    # 実験コードをここに記述する
    pass
```

<div id="link-artifacts-for-lineage-tracking">
  ### Artifactsをリンクしてリネージをトラッキングする
</div>

データセット、モデル、評価の間の関係をトラッキングします:

```python theme={null}
import wandb

with wandb.init(project="ml-pipeline") as run:
    # データセットartifactを使用する
    dataset = run.use_artifact("dataset:v1")
    dataset_dir = dataset.download()
    
    # データセットを使用してモデルをトレーニングする
    model = train_on_dataset(dataset_dir)
    
    # データセットのリネージを持つモデルartifactを作成する
    model_artifact = wandb.Artifact(
        name="trained-model",
        type="model"
    )
    model_artifact.add_file("model.pt")
    
    # 自動リネージトラッキングでログする
    run.log_artifact(model_artifact)
```
