tensorboardX tutorial

TensorboardX

TensorboardX是一个用于可视化的模块,在pytorch中用的比较多。其支持以下类型的总结

  • scalar
  • image
  • histogram
  • audio
  • text
  • graph
  • onnx_graph
  • embedding
  • pr_curve

SummaryWriter

提供接口,实现以下功能:

  • 在给定的目录下,创建事件文件和向事件文件中添加汇总数据
  • 事件文件更新是异步的,允许你在训练的时候调用,而不降低你的训练速度。

创建

__init__(log_dir=None, comment=")

  • log_dir(string) 保存路径,默认是runs/CURRENT_DATETIME_HOSTNAME
  • comment: 添加在默认log_dir的评论

添加summary

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) – 数据的id
  • img_tensor (torch.Tensor) – 图像数据,shape(3,H,W)
  • global_step (int) – 横坐标的刻度值

注意: 使用torchvision.utils.make_grid()来准备数据是个不错的选择。

add_histogram(tag,values,global_step=None,bins='tensorflow')

添加直方图

  • tag (string) – 数据id
  • values (numpy.array) – 数据
  • global_step (int) – 横坐标的刻度值
  • bins (string) – one of {‘tensorflow’,’auto’, ‘fd’, …}

add_audio(tag, snd_tensor, global_step=None, sample_rate=44100)

添加音频数据

  • tag (string) – 数据id
  • snd_tensor (torch.Tensor) – 音频数据
  • global_step (int) – 横坐标的刻度值
  • sample_rate (int) – 采样率 单位HZ

    snd_tensor: (1,L), 取值区间为[-1, 1]
    

add_text(tag, text_string, global_step=None)

添加文本数据

  • tag (string) – 数据id
  • text_string (string) – 数据
  • global_step (int) – 横坐标的刻度值

add_video(tag, vid_tensor, global_step=None)

添加视频数据,需要moviepy

  • tag (string) – 数据id
  • vid_tensor (torch.Tensor) – 视频数据
  • global_step (int) – 横坐标的刻度值

    vid_tensor shape 为 (B,C,T,H,W).
    

export_scalars_to_json(path)

将所有标量值写成json格式,形式如下:

{writer_id : [[timestamp, step, value], …], …}

总结

从上可知,添加不同数据的函数的通用范式为:

    add_name(tag, value, global_step)

name{image,text,video,audio,scalar,scalars,histogram,graph,model,embedding,pr_curve}

可视化基本步骤是:

  1. 创建SummaryWriter的实例
  2. 循环添加数据
  3. 使用 tensorboard –logdir xxx(保存路径)
  4. 在浏览器输入地址,例如

    http://imcl-test:6006 
    
  5. 关闭writer,保存标量数据成json格式

Reference

tensorboard-pytorch

阅读更多
文章标签: tensorboardX pytorch
个人分类: pytorch
所属专栏: pytorch学习笔记
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭