tensorboardX tutorial

本文介绍TensorboardX的使用方法,包括代码通用框架、常用API及GAN实例可视化。TensorboardX是一款易于上手且兼容多种深度学习框架的可视化工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TensorboardX

前言

对于深度学习任务,可视化训练过程能够更为直观地反应网络学习的好坏,便于进一步的网络调参。目前,可视化工具主要有以下几大类:

  • visidom
  • tensorboard
  • tensorboardX
  • other package

本文介绍这四者中相对易于上手的,兼容不同深度框架的tensorboradX。介绍的内容包括:

  • 使用tensorboardX的代码通用框架
  • 常用的API
  • 可视化GAN实例

代码通用框架

  1. 导入SummaryWriter
  2. 创建SummaryWriter实例
  3. 调用相应的API进行可视化

from tensorboardX import SummaryWriter

writer = SummaryWriter(logDirPath)

writer.add_something(tag name, object, iteration number)

常见的API

在处理深度学习任务时,我们可能经常会遇到可视化如下参数:

  • 神经网络的结构
  • Loss曲线
  • 展示image
  • 数据的直方图

接下来逐一介绍相应的API。

  • add_graph(model, input_to_model, verbose=False)

    • model (torch.nn.Module), 待绘制的网络
    • input_to_model (torch.autograd.Variable),网络的输入
  • add_scalar(tag, scalar_value, global_step=None) 添加单个标量

    • tag (string), 数据的id
    • scalar_value (float) ,数据的值
    • global_step (int) ,步数
  • add_scalars(main_tag,tag_scalar_dict,global_step=None) 添加多个标量

    • tag (string),数据的id
    • main_tag (string) , 标签的前缀
    • tag_scalar_dict (dict) , {tag: value},字典,键:名称,值:数值
    • global_step (int) ,步数
  • add_image(tag, img_tensor, global_step=None) 添加图数据,要求安装了pillow包

    • tag (string), 数据的名称
    • img_tensor (torch.Tensor) ,图像数据,shape(3,H,W) 配合torchvision.utils.make_grid使用
    • global_step (int), 步数
  • add_histogram(tag,values,global_step=None,bins='tensorflow') 添加直方图

    • tag (string) ,数据id
    • values (numpy.array),数据
    • global_step (int),横坐标的刻度值
    • bins (string) , 可选 {‘tensorflow’,’ auto’, ‘fd’, …} ,区间模式选择。

可视化GAN实例

在这里插入图片描述

源码:GAN 实例

注意:

  • 图片由ScreenToGif制作而成。

  • 使用Tensorboard 观看:

    tensorboard --logdir logPath --port xxxx
    

Reference

tensorboard-pytorch

### 如何在 MMSegmentation 中配置 TensorBoard 要在 MMSegmentation 中启用并使用 TensorBoard 进行可视化,可以通过以下方式完成: #### 安装必要的依赖项 首先需要确保已安装 `tensorboard` 和其他相关库。可以按照如下命令来安装所需的 Python 包: ```bash pip install tensorboardX pip install future pip install tensorboard ``` 上述命令用于安装支持 TensorBoard 可视化的必要工具[^1]。 #### 修改配置文件以集成 TensorBoard 后端 MMSegmentation 支持通过修改配置文件中的 `vis_backends` 参数来添加 TensorBoard 日志记录功能。具体操作是在配置文件中定义日志钩子 (log hook),并将 `TensorboardVisBackend` 添加到可视化工作者列表中。 以下是完整的配置片段示例: ```python default_scope = 'mmseg' work_dir = './work_dirs/tutorial' # 设置 visualization backend 为 TensorBoard visualizer = dict( type='SegLocalVisualizer', vis_backends=[ dict(type='LocalVisBackend'), dict(type='TensorboardVisBackend') # 将此行加入即可开启 TensorBoard 记录 ], name='visualizer') ``` 在此部分中,`dict(type='TensorboardVisBackend')` 是关键参数,它指定了要使用的可视化后端类型为 TensorBoard[^2]。 #### 启动训练过程 当一切准备就绪之后,在启动模型训练的过程中会自动生成对应的 TensorBoard 日志文件,默认存储路径位于工作目录下的 `tf_logs/` 文件夹内。 #### 查看 TensorBoard 数据 为了查看这些数据,可以在终端执行以下命令打开 TensorBoard 并加载相应的日志位置: ```bash tensorboard --logdir=./work_dirs/tutorial/tf_logs/ ``` 浏览器访问指定地址(通常是 http://localhost:6006),就可以看到由 MMSegmentation 输出的各种指标图表以及图像展示等内容。 ### 注意事项 - 如果遇到任何错误提示无法正常显示,请确认所有组件版本兼容性良好。 - 确保每次实验的工作目录不同或者清理旧的日志以防混淆新旧结果对比分析。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值