Weights & Biases的使用

Weights & Biases的介绍

Weights & Biases是一个强大的用于深度学习可视化的工具,可以实现对深度学习各项参数的可视化,以及实现深度学习超参数寻优,详细介绍可参见官网。
https://wandb.ai/site
Weights & Biases在python是以wandb模块实现

Wandb的使用

step1. 进入Weights & Biases 进行账号注册和登录

在这里插入图片描述

step2. 建立project

在这里插入图片描述

step3. 安装wandb

pip install wandb

step4. python程序设置

  1. wandb初始化
wandb.init(project='VGG-LSTM',entity='ljhahaha')
  1. 超参数设置
wandb.config.rnn_unit=64
wandb.config.lstm_layers=3
wandb.config.batch_size=128
wandb.config.lr=0.00001
wandb.config.epochs=30
wandb.config.optimizer='adam'
  1. 代码正文设置(这里展示了优化器的设置)
optimizer = wandb.config.optimizer
   if optimizer == "adam":
       train_op = tf.train.AdamOptimizer(wandb.config.lr).minimize(softmaxs_loss)
   elif optimizer == "sgd":
       train_op = tf.train.GradientDescentOptimizer(wandb.config.lr).minimize(softmaxs_loss)
   elif optimizer == "rmsprop":
       train_op = tf.train.RMSPropOptimizer(wandb.config.lr).minimize(softmaxs_loss)
   else:
       raise ValueError("unexpected optimizer name")
  1. 参数记录(这里展示了训练中训练集和验证集的准确率和损失函数的记录)
#数据展示
wandb.log({
	"Train Accuracy":acc_list,
	"Train Loss":loss_list,
	"Test Accuracy":val_acc,
	"Test Loss":val_loss})
#画图展示
wandb.log({"loss" : wandb.plot.line_series(
    xs=wandb.config.epochs,
    ys=[loss_list, val_loss],
    keys=["Loss of training", "Loss of validation"],
    title="Loss function",
    xname="epochs")})
wandb.log({"acc" : wandb.plot.line_series(
    xs=wandb.config.epochs,
    ys=[acc_list, val_acc],
    keys=["Accuracy of training", "Accuracy of validation"],
    title="Accuracy",
    xname="epochs")})  

step5. Weights & Biases里面的Sweep设置(用于超参数寻优)

  1. 创建一个新的sweep
  2. 设置sweep参数
    设置参数时可以使用列表对所取值罗列,也可以选择数据分布形式
    在这里插入图片描述
    点击下方的 Sweep initializer可以得到如下结果:
    在这里插入图片描述3. 执行操作(所有操作在cmd进行)
代码展示

(1)切换工作路径

cd E:/tensorflow_learning

(2)wandb登录
在这里插入图片描述
(3)输入API key(根据他给定的地址获取key)
在这里插入图片描述
输入key之后系统会自动建立一个.netrc文件
(4)输入代理命令(即launch agent里面的代码),程序便开始执行
在这里插入图片描述

step6. 进入官网查看程序的运行

在这里插入图片描述

Weights & Biases (W&B) 是一个广泛使用的开源库,它允许深度学习开发者轻松地跟踪、理解和分享实验数据、模型性能以及训练过程。它与 PyTorch Lightning 结合使用可以极大地简化和增强PyTorch项目的日志记录和监控功能。 PyTorch Lightning 是一个高级的 PyTorch 训练库,它提供了一套工具来组织和标准化模型定义、数据处理、训练循环以及超参数搜索。通过集成 W&B,你可以: 1. **自动追踪**:Lightning 自动记录每个epoch的损失、指标和验证结果,这些信息会同步到 W&B 的服务器上,便于可视化分析。 2. **可视化仪表板**:你可以创建实时的项目仪表板,显示训练曲线、模型检查点、参数等关键信息。 3. **版本控制**:每轮训练都有一个独特的标识,方便管理和比较不同实验的效果。 4. **团队协作**:团队成员可以更容易地查看他人的工作,复现实验或贡献改进。 5. **报告和文档化**:生成详细的训练报告,包含训练详情和关键发现,有助于分享和回顾研究过程。 要开始使用 W&B 和 PyTorch Lightning,你需要安装这两个库,并在Lightning模块中配置W&B追踪器。例如: ```python import wandb from pytorch_lightning import Trainer from your_project_module import MyModel wandb.init(project="my_project") trainer = Trainer(loggers=[ WandbLogger() ]) model = MyModel() trainer.fit(model) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LJhaha

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值