1 使用 wandb进行可视化训练过程
本文章将从wandb的安装、wandb的使用、demo的演示进行讲解。
1.1 如何安装wandb?
wandb的安装比较简单,在终端中执行如下的命令即可:
pip install wandb
在安装完成之后,我们需要,去官网注册一个自己的账号并复制一下自己的API keys,在本地进行登录即可:
wandb login
1.2 wandb的使用
其实wandb的使用是十分简单的,仅需要在自己的代码加入几行代码即可:
import wandbwandb.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 loggedproject="my-awesome-project",# Track hyperparameters and run metadataconfig={"learning_rate": 0.01,"epochs": 10,},)
运行是 W&B 的基本组成部分。您将经常使用它们来跟踪指标、创建日志、创建作业等。
1.3 demo的演示
综上所述,训练脚本可能类似于以下代码示例。突出显示的代码显示特定于 W&B 的代码。 请注意,我们添加了模拟机器学习训练的代码。
# train.pyimport wandbimport random# for demo scriptwandb.login()epochs = 10lr = 0.01run = wandb.init(# Set the project where this run will be loggedproject="my-awesome-project",# Track hyperparameters and run metadataconfig={"learning_rate": lr,"epochs": epochs,},)offset = random.random() / 5print(f"lr: {lr}")# simulating a training runfor epoch in range(2, epochs):acc = 1 - 2**-epoch - random.random() / epoch - offsetloss = 2**-epoch + random.random() / epoch + offsetprint(f"epoch={epoch}, accuracy={acc}, loss={loss}")wandb.log({"accuracy": acc, "loss": loss})# run.log_code()
就是这样!导航到 W&B 应用程序,查看 https://wandb.ai/home 中我们使用 W&B 记录的指标(准确性和损失)在每个训练步骤中是如何改进的。