Documentation Index
Fetch the complete documentation index at: https://wb-21fd5541-john-wbdocs-2044-rename-serverless-products.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
これらのクラスは、機械学習 Experiments のトラッキング、Artifacts の管理、SDK の動作設定を行うための中核的な構成要素です。これらの基本クラスを使うと、メトリクスをログし、モデル チェックポイントを保存し、データセットをバージョン管理し、高い再現性とコラボレーション機能を備えた実験設定を管理できます。
ML Experiments でこれらのクラスを使用する方法について詳しくは、Experiments および Artifacts のドキュメントを参照してください。
| クラス | 説明 |
|---|
Run | W&B にログされる計算の主要な単位で、メトリクス、設定、出力を含む単一の ML 実験を表します。 |
Artifact | データセットとモデルのバージョン管理のための、柔軟で軽量な基本要素です。自動重複排除とリネージのトラッキングを備えています。 |
Settings | W&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
メタデータ付きの、バージョン管理されたモデル artifact を作成してログします:
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)
要件に合わせて、W&B SDKの動作をカスタマイズします。
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
Artifactsをリンクしてリネージをトラッキングする
データセット、モデル、評価の間の関係をトラッキングします:
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)