1 使用 wandb进行可视化训练过程

本文章将从wandb的安装、wandb的使用、demo的演示进行讲解。

1.1 如何安装wandb?

wandb的安装比较简单,在终端中执行如下的命令即可:

pip install wandb

在安装完成之后,我们需要,去官网注册一个自己的账号并复制一下自己的API keys,在本地进行登录即可:

wandb login

1.2 wandb的使用

其实wandb的使用是十分简单的,仅需要在自己的代码加入几行代码即可:

import wandb
wandb.init(project = "my-project", entity = "my-name")

这里的project 和 entity是wandb上创建项目的名称和用户名,可以在官网上参考创建项目,官方文档

使用 wandb.init() 在 Python 脚本或笔记本中初始化 W&B Run 对象,并使用超参数名称和值的键值对将字典传递给参数:config

run = wandb.init(
    # Set the project where this run will be logged
    project="my-awesome-project",
    # Track hyperparameters and run metadata
    config={
        "learning_rate": 0.01,
        "epochs": 10,
    },
)

运行是 W&B 的基本组成部分。您将经常使用它们来跟踪指标、创建日志、创建作业等。

1.3 demo的演示

综上所述,训练脚本可能类似于以下代码示例。突出显示的代码显示特定于 W&B 的代码。 请注意,我们添加了模拟机器学习训练的代码。

# train.py
import wandb
import random  # for demo script

wandb.login()

epochs = 10
lr = 0.01

run = wandb.init(
    # Set the project where this run will be logged
    project="my-awesome-project",
    # Track hyperparameters and run metadata
    config={
        "learning_rate": lr,
        "epochs": epochs,
    },
)

offset = random.random() / 5
print(f"lr: {lr}")

# simulating a training run
for epoch in range(2, epochs):
    acc = 1 - 2**-epoch - random.random() / epoch - offset
    loss = 2**-epoch + random.random() / epoch + offset
    print(f"epoch={epoch}, accuracy={acc}, loss={loss}")
    wandb.log({"accuracy": acc, "loss": loss})

# run.log_code()

就是这样!导航到 W&B 应用程序,查看 https://wandb.ai/home 中我们使用 W&B 记录的指标(准确性和损失)在每个训练步骤中是如何改进的。
Pytorch的可视化-LMLPHP

02-14 12:47