一个为深度学习设计的实验跟踪可视化工具

  • 记录训练过程中的指标(Loss 等)
  • 监控 CPU/GPU 使用率,显存占用等系统指标

使用方法

在本地安装 wandb:

pip install wandb

第一次使用时需先在网站 wandb.ai 上注册账号。

然后在本地登录账号:

wandb login

输入 API key 即可。

在代码中使用:

import wandb
import random
 
# 1. 初始化实验
# project: 项目名称(会自动在网页端创建)
# name: 本次实验的名称(可选,不填会自动生成随机名)
wandb.init(
    project="my-first-wandb-project",
    name="experiment_1",
    
    # 2. 记录超参数 (Configuration)
    # 将所有超参数存在 config 中,方便后续在网页端按参数筛选或对比
    config={
        "learning_rate": 0.01,
        "epochs": 10,
        "batch_size": 32,
        "architecture": "CNN",
        "dataset": "CIFAR-10"
    }
)
 
# 获取 config 对象(如果后续代码需要用到超参数,直接从 wandb.config 读取)
config = wandb.config
 
# 模拟训练循环
for epoch in range(config.epochs):
    # 模拟计算 loss 和 accuracy
    loss = 1.0 / (epoch + 1) + random.random() * 0.1
    acc = 0.6 + epoch * 0.03 + random.random() * 0.05
    
    # 3. 记录指标 (Log Metrics)
    # 核心方法!将字典传入,键是图表标题,值是数据
    wandb.log({
        "loss": loss, 
        "accuracy": acc,
        "epoch": epoch
    })
    
    print(f"Epoch {epoch}: Loss={loss}, Acc={acc}")
 
# 4. 结束实验
wandb.finish()

运行代码后会输出实验对应数据的网址。