メインコンテンツへスキップ
これらのクラスは、機械学習実験のトラッキング、アーティファクトの管理、および SDK の動作設定のための中核となる構成要素です。これらの基盤クラスを使用すると、メトリクスを記録し、モデルのチェックポイントを保存し、データセットのバージョン管理を行い、完全な再現性と共同作業機能を備えた形で実験の設定を管理できます。
ML 実験でこれらのクラスを使用する方法の詳細については、Experiments および Artifacts のドキュメントを参照してください。

コアクラス

クラス説明
RunW&B にログされる主要な計算単位であり、メトリクス、設定、出力を含む単一の ML 実験を表します。
Artifactデータセットやモデルのバージョニングのための柔軟かつ軽量な構成要素であり、自動重複排除とリネージの追跡機能を備えています。
SettingsW&B SDK の設定を管理し、ログの記録から API とのやり取りまでの挙動を制御します。

クイックスタート

実験を追跡する

メトリクスをログに記録しながら、機械学習実験を作成して追跡します。
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

モデルアーティファクトをバージョン管理する

メタデータ付きのバージョン管理されたモデルアーティファクトを作成して記録します。
import wandb

with wandb.init(project="my-models") as run:
    # モデルをトレーニングする
    model = train_model()
    
    # モデルのアーティファクトを作成する
    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
        }
    )
    
    # モデルファイルをアーティファクトに追加する
    model_artifact.add_file("model.pt")
    model_artifact.add_dir("model_configs/")
    
    # アーティファクトをW&Bに記録する
    run.log_artifact(model_artifact)

SDK 設定を行う

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

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

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

# カスタム設定で初期化する
with wandb.init() as run:
    # 実験コードをここに記述する
    pass
データセット、モデル、評価間の関係を追跡します。
import wandb

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