wandb
Weights & Biasesは、機械学習の実験管理、ハイパーパラメータ最適化、成果物管理を行うプラットフォームで、学習状況の記録や可視化、パラメータ調整、データセットやモデルのバージョン管理などを効率的に行うSkill。
📜 元の英語説明(参考)
Weights & Biases platform for ML experiment tracking, hyperparameter optimization, and artifact management. Log metrics, visualize training runs, run sweeps for hyperparameter tuning, and version datasets and models.
🇯🇵 日本人クリエイター向け解説
Weights & Biasesは、機械学習の実験管理、ハイパーパラメータ最適化、成果物管理を行うプラットフォームで、学習状況の記録や可視化、パラメータ調整、データセットやモデルのバージョン管理などを効率的に行うSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o wandb.zip https://jpskill.com/download/15549.zip && unzip -o wandb.zip && rm wandb.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15549.zip -OutFile "$d\wandb.zip"; Expand-Archive "$d\wandb.zip" -DestinationPath $d -Force; ri "$d\wandb.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
wandb.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
wandbフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Weights & Biases (W&B)
インストール
# インストールとログイン
pip install wandb
wandb login # https://wandb.ai/authorize から API キーを入力
基本的な実験の追跡
# track_experiment.py — 学習メトリクスとパラメータをログに記録
import wandb
import random
wandb.init(
project="my-ml-project",
name="experiment-1",
config={
"learning_rate": 0.001,
"epochs": 50,
"batch_size": 32,
"architecture": "resnet50",
"optimizer": "adam",
},
)
for epoch in range(wandb.config.epochs):
train_loss = random.uniform(0.1, 1.0) * (1 - epoch / 50)
val_loss = train_loss + random.uniform(0, 0.2)
accuracy = 1 - val_loss + random.uniform(-0.05, 0.05)
wandb.log({
"epoch": epoch,
"train/loss": train_loss,
"val/loss": val_loss,
"val/accuracy": accuracy,
})
wandb.finish()
PyTorch の統合
# pytorch_wandb.py — 自動勾配ロギングによる PyTorch の学習追跡
import wandb
import torch
import torch.nn as nn
from torch.utils.data import DataLoader, TensorDataset
wandb.init(project="pytorch-demo", config={"lr": 0.01, "epochs": 20})
model = nn.Sequential(nn.Linear(10, 64), nn.ReLU(), nn.Linear(64, 2))
wandb.watch(model, log="all", log_freq=10) # 勾配とパラメータをログに記録
optimizer = torch.optim.Adam(model.parameters(), lr=wandb.config.lr)
criterion = nn.CrossEntropyLoss()
dataset = TensorDataset(torch.randn(1000, 10), torch.randint(0, 2, (1000,)))
loader = DataLoader(dataset, batch_size=32, shuffle=True)
for epoch in range(wandb.config.epochs):
for x, y in loader:
loss = criterion(model(x), y)
optimizer.zero_grad()
loss.backward()
optimizer.step()
wandb.log({"loss": loss.item(), "epoch": epoch})
wandb.finish()
Hugging Face Trainer の統合
# hf_wandb.py — Hugging Face Trainer による自動ロギング
import os
os.environ["WANDB_PROJECT"] = "hf-fine-tuning"
from transformers import TrainingArguments
training_args = TrainingArguments(
output_dir="./results",
report_to="wandb",
run_name="distilbert-imdb",
num_train_epochs=3,
logging_steps=50,
)
# Trainer は自動的に W&B にログを記録します
ハイパーパラメータスイープ
# sweep_config.yaml — ハイパーパラメータスイープを定義
program: train.py
method: bayes
metric:
name: val/accuracy
goal: maximize
parameters:
learning_rate:
distribution: log_uniform_values
min: 0.0001
max: 0.1
batch_size:
values: [16, 32, 64, 128]
optimizer:
values: ["adam", "sgd", "adamw"]
dropout:
distribution: uniform
min: 0.1
max: 0.5
# sweep_train.py — W&B スイープと互換性のある学習スクリプト
import wandb
def train():
wandb.init()
config = wandb.config
# config.learning_rate, config.batch_size などを使用します
for epoch in range(10):
loss = 1.0 / (epoch + 1) * (1 / config.learning_rate)
accuracy = 1 - loss / 100
wandb.log({"val/accuracy": accuracy, "train/loss": loss})
wandb.finish()
# スイープを作成して実行
sweep_id = wandb.sweep(sweep="sweep_config.yaml", project="sweep-demo")
wandb.agent(sweep_id, function=train, count=20)
アーティファクト (データとモデルのバージョン管理)
# artifacts.py — W&B アーティファクトによるデータセットとモデルのバージョン管理
import wandb
# データセットアーティファクトをログに記録
run = wandb.init(project="artifacts-demo", job_type="data-prep")
artifact = wandb.Artifact("my-dataset", type="dataset", description="Training dataset v1")
artifact.add_dir("./data/processed/")
run.log_artifact(artifact)
run.finish()
# 学習でアーティファクトを使用
run = wandb.init(project="artifacts-demo", job_type="training")
artifact = run.use_artifact("my-dataset:latest")
data_dir = artifact.download()
# モデルアーティファクトをログに記録
model_artifact = wandb.Artifact("my-model", type="model")
model_artifact.add_file("model.pt")
run.log_artifact(model_artifact)
run.finish()
テーブルとメディアのロギング
# tables.py — リッチメディア、テーブル、画像をログに記録
import wandb
import numpy as np
wandb.init(project="media-demo")
# 画像をログに記録
images = [wandb.Image(np.random.rand(28, 28), caption=f"Sample {i}") for i in range(5)]
wandb.log({"examples": images})
# テーブルをログに記録
table = wandb.Table(columns=["input", "prediction", "label", "correct"])
table.add_data("Hello", "positive", "positive", True)
table.add_data("Terrible", "negative", "negative", True)
table.add_data("Okay", "positive", "neutral", False)
wandb.log({"predictions": table})
wandb.finish()
主要な概念
- Runs: 自動システムメトリクス (GPU、CPU、メモリ) を伴う個々の実験実行
- Config: 実行ごとに追跡されるハイパーパラメータ — 一貫性を保つために
wandb.configを使用 - Sweeps: 早期停止を伴うベイズ、グリッド、またはランダムなハイパーパラメータ検索
- Artifacts: リネージ追跡によるデータセット、モデル、およびその他のファイルのバージョン管理
wandb.watch(): 学習中にモデルの勾配とパラメータを自動的にログに記録- Reports: W&B UI で実験データから共有可能なダッシュボードとレポートを作成
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Weights & Biases (W&B)
Installation
# Install and login
pip install wandb
wandb login # Enter API key from https://wandb.ai/authorize
Basic Experiment Tracking
# track_experiment.py — Log training metrics and parameters
import wandb
import random
wandb.init(
project="my-ml-project",
name="experiment-1",
config={
"learning_rate": 0.001,
"epochs": 50,
"batch_size": 32,
"architecture": "resnet50",
"optimizer": "adam",
},
)
for epoch in range(wandb.config.epochs):
train_loss = random.uniform(0.1, 1.0) * (1 - epoch / 50)
val_loss = train_loss + random.uniform(0, 0.2)
accuracy = 1 - val_loss + random.uniform(-0.05, 0.05)
wandb.log({
"epoch": epoch,
"train/loss": train_loss,
"val/loss": val_loss,
"val/accuracy": accuracy,
})
wandb.finish()
PyTorch Integration
# pytorch_wandb.py — Track PyTorch training with automatic gradient logging
import wandb
import torch
import torch.nn as nn
from torch.utils.data import DataLoader, TensorDataset
wandb.init(project="pytorch-demo", config={"lr": 0.01, "epochs": 20})
model = nn.Sequential(nn.Linear(10, 64), nn.ReLU(), nn.Linear(64, 2))
wandb.watch(model, log="all", log_freq=10) # Log gradients and parameters
optimizer = torch.optim.Adam(model.parameters(), lr=wandb.config.lr)
criterion = nn.CrossEntropyLoss()
dataset = TensorDataset(torch.randn(1000, 10), torch.randint(0, 2, (1000,)))
loader = DataLoader(dataset, batch_size=32, shuffle=True)
for epoch in range(wandb.config.epochs):
for x, y in loader:
loss = criterion(model(x), y)
optimizer.zero_grad()
loss.backward()
optimizer.step()
wandb.log({"loss": loss.item(), "epoch": epoch})
wandb.finish()
Hugging Face Trainer Integration
# hf_wandb.py — Automatic logging with Hugging Face Trainer
import os
os.environ["WANDB_PROJECT"] = "hf-fine-tuning"
from transformers import TrainingArguments
training_args = TrainingArguments(
output_dir="./results",
report_to="wandb",
run_name="distilbert-imdb",
num_train_epochs=3,
logging_steps=50,
)
# Trainer will automatically log to W&B
Hyperparameter Sweeps
# sweep_config.yaml — Define a hyperparameter sweep
program: train.py
method: bayes
metric:
name: val/accuracy
goal: maximize
parameters:
learning_rate:
distribution: log_uniform_values
min: 0.0001
max: 0.1
batch_size:
values: [16, 32, 64, 128]
optimizer:
values: ["adam", "sgd", "adamw"]
dropout:
distribution: uniform
min: 0.1
max: 0.5
# sweep_train.py — Training script compatible with W&B sweeps
import wandb
def train():
wandb.init()
config = wandb.config
# Use config.learning_rate, config.batch_size, etc.
for epoch in range(10):
loss = 1.0 / (epoch + 1) * (1 / config.learning_rate)
accuracy = 1 - loss / 100
wandb.log({"val/accuracy": accuracy, "train/loss": loss})
wandb.finish()
# Create and run sweep
sweep_id = wandb.sweep(sweep="sweep_config.yaml", project="sweep-demo")
wandb.agent(sweep_id, function=train, count=20)
Artifacts (Data and Model Versioning)
# artifacts.py — Version datasets and models with W&B Artifacts
import wandb
# Log a dataset artifact
run = wandb.init(project="artifacts-demo", job_type="data-prep")
artifact = wandb.Artifact("my-dataset", type="dataset", description="Training dataset v1")
artifact.add_dir("./data/processed/")
run.log_artifact(artifact)
run.finish()
# Use the artifact in training
run = wandb.init(project="artifacts-demo", job_type="training")
artifact = run.use_artifact("my-dataset:latest")
data_dir = artifact.download()
# Log a model artifact
model_artifact = wandb.Artifact("my-model", type="model")
model_artifact.add_file("model.pt")
run.log_artifact(model_artifact)
run.finish()
Tables and Media Logging
# tables.py — Log rich media, tables, and images
import wandb
import numpy as np
wandb.init(project="media-demo")
# Log images
images = [wandb.Image(np.random.rand(28, 28), caption=f"Sample {i}") for i in range(5)]
wandb.log({"examples": images})
# Log a table
table = wandb.Table(columns=["input", "prediction", "label", "correct"])
table.add_data("Hello", "positive", "positive", True)
table.add_data("Terrible", "negative", "negative", True)
table.add_data("Okay", "positive", "neutral", False)
wandb.log({"predictions": table})
wandb.finish()
Key Concepts
- Runs: Individual experiment executions with automatic system metrics (GPU, CPU, memory)
- Config: Hyperparameters tracked per run — use
wandb.configfor consistency - Sweeps: Bayesian, grid, or random hyperparameter search with early stopping
- Artifacts: Version datasets, models, and other files with lineage tracking
wandb.watch(): Automatically log model gradients and parameters during training- Reports: Create shareable dashboards and reports from experiment data in the W&B UI