type
status
date
slug
summary
tags
icon
password
学习了TensorBoard的使用,收益匪浅。部分参考来自iioSnail,Pytorch中文手册
一、什么是TensorBoard
TensorBoard是一个可视化工具,它可以用来展示网络图、张量的指标变化、张量的分布情况等。特别是在训练网络的时候,我们可以设置不同的参数(比如:权重W、偏置B、卷积层数、全连接层数等),使用TensorBoader可以很直观的帮我们进行参数的选择。它通过运行一个本地服务器,来监听6006端口。在浏览器发出请求时,分析训练时记录的数据,绘制训练过程中的图像。
简单的来说,TensorBoard就是一个可视化展示结果的平台!!!
二、如何在Pytorch中使用Tensorboard

Pytorch中使用Tensorboard主要使用了四个API:
SummaryWriter
:这个用来建立一个文件(可以叫log)。当TensorBoard面板查看时,就是选择的这个文件(log)进行查看。
add_XXXX
:可以向文件(log)里面添加数据。例如add_scalar
可以添加折线图。add_image
可以添加图片等等
close
:当训练结束的时候,可以通过close方法来结束log的写入。
具体过程:
- 首先导入Tensorboard它存在于:
- 需要new一个SummaryWriter对象
- 接下来使用add_scalar来做折线图(作为add_XXXX)的例子
- 将图片展示在TensorBoard中
在new之前我们可以先看一下SummaryWriter的文档
在这里面可以看到
SummaryWriter
作为一个类需要的基本的东西为log_dir
log_dir
的作用是将运行代码之后的结果放入到这个文件夹中。在注释里面的Example中给我们展示了如何使用log_dir
new了一个write之后,运行之后,该项目的目录下面会出现一个新的文件夹和运行结果

所展示的结果和注释文档中是一致的。
先来看一下add_scalar方法的官方文档
tag
可以理解成这个曲线图像的名字scalar_value
可以理解成y坐标的值global_step
可以理解成横坐标的值举一个简单的例子:
出现的结果如下所示:

可以看到该折线图的名称为:y=x
x轴的值为0到100;y轴的值为0到100
再举一个难一点的例子:
出现的结果如下图所示:

看到左边有smoothing的选项,这是可以对数据做出平滑处理。浅色的线是原本数据的线,深色的线是经过smoothing之后得到结果的线。

add_image
是将图片展示在TensorBoard里面首先查看一下官方文档:
tag
表示要展现的图的名称img_tensor
是图像。(注意!!这里的图像有格式限制,详情查看注释里面的Args)global_step
表示有几个图片,或者说是步长都可。dataformats
是为了对不同的图像有着不同的格式,常见的有“HWC”、“CHW“等
- 作者:JucanaYu
- 链接:https://jucanayu.top/article/91aa8f56-2690-49b3-8dba-6acfebdeab06
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。