栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Wandb:深度神经网络可视化

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Wandb:深度神经网络可视化

为大家分享一款目前个人觉得操作非常简单,但是性能强大的一款深度学习网络可视化的插件。如果习惯于使用TensorBoard的同学应该会很快爱上它。支持多个深度学习网络框架(包括Hugging Face~)

Wandb的功能:

  • 调参:存储训练参数,自动分析参数关联,助力快速调参

  • 看板:同步本地实验结果,并进行实时可视化展示

  • 报告:结果自动同步云端,永久记录实验的过程,可用于模型改进探索及团队分享

  • 自动记录CPU、GPU等系统硬件利用情况

  • 自动记录控制台打印的训练日志,以及环境依赖等参数项

以上的所有内容,只需几行代码就能实现

import wandb
# create your model
model = TaskModel()
wandb.init(project="your project name")
wandb.watch(model)

如何使用?

1 安装

wandb是一个Python库,所以可以直接通过pip来安装:

pip install wandb

2 注册登陆

然后在wandb官网注册一个账号,并创建你的Team(可以拉入其它小伙伴)和你的Project,然后获取你的账号的私钥。在命令行执行:

wandb login

按提示输入API Key信息。

3 实例化

import wandb
# 还有其它参数可以配置
wandb.init(project="your_project_name")

4 使用方法

from transformers import BertModel
import wandb
# create your model
model = BertModel()
wandb.init(project="your project name")
#将model放进去会自动的检测训练过程中的模型不同组件的梯度信息
wandb.watch(model)

# 伪代码,以可视化loss例, 和tensorboard使用方式类似
for epoch in range(epochs):
    all_loss = []
    for item in data_loader:
        logits = model(item.x)
        loss = loss_f(logits, item.y)
        all_loss.append(loss.item)
    wandb.log({'train/loss': mean(all_loss)}, step=epoch)

wandb.watch(model) :可以为我们监视模型各个模块的梯度变化,例如:

欢迎大家使用wandb探索更深层次的应用,提升工作效率~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/961154.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号