TensorBoard的使用

tensorboard是tensorflow开发的一款绘图插件,它可以绘制网络的图像,可以绘制训练时的 Loss ,Accuracy等参数指标,tensorboard现在已经支持在pytorch中使用,使用方法参考pytorch文档

安装导入

安装过pytorch后使用TensorBoard还需要安装,

1
2
pip install tensorflow
pip install tensorboard

导入时使用以下代码

1
from torch.utils.tensorboard import SummaryWriter

导入之后如果无法使用,可以尝试 tensorboardX 使用方法类似

使用

安装好后就可以开始使用了

pytorch的官方文档提供了很多例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image

#首先需要创建一个实例 writer,参数为文件保存的路径,下面是在logs文件夹下
writer = SummaryWriter("logs")

#可以绘制图像,add_scalar(标签名, y值, x值),每次增加一个点
for i in range(100):
writer.add_scalar("y=x", i, i)
writer.add_scalar("y=3x", i*3, i )

#添加图像,添加的图像需要是torch.Tensor, numpy.array, 或者 string/blobname
#add_image参数含义:图片标签,图片路径,step,转换
path = r"../train/ants/5650366_e22b7e1065.jpg"
img = Image.open(path)
img_arr = np.array(img)
writer.add_image("IMG1", img_arr, 1, dataformats='HWC')

#使用完成后需要关闭
writer.close()

add_image()中的 step 是步骤,修改步骤后可以查看不同步骤时的图像

dataformats=’HWC’是设置读取的是(高度,宽度,通道)顺序的格式,默认是(通道,高度,宽度)顺序

重复运行代码,绘制折线图时折线会回到起点再绘制会有一些乱

查看

运行后就能看到 logs 文件夹下新建了文件

在 Terminal 里输入 tensorboard --logdir=logs --port=6007

logdir= 后面是文件夹路径

port= 后面是端口号,默认是6006

image.png

从浏览器里进入蓝色字的地址就可以看到绘制的图像

image.png

image.png

step可以从红框中拖动查看

退出时在 Terminal 里按 Ctrl + C 结束