tensorboard的使用

2021-09-27  本文已影响0人  过气海豹

1 引入

1.1从pytorch1.1后可以使用tensorboard
1.2常见的两种tensorboard展示数据的例子:


tensorboard展示例子.png

*右侧loss图像,左侧展示训练的第N布的output结果

2 使用方法

2.1 头文件

#从torch的utils工具箱中导入tensorboard工具中的SummaryWriter类
from torch.utils.tensorboard import SummaryWriter

2.2 调用方法

#使用这个函数需要定义一个文件夹名称,这个文件夹存储实例的事件文件
writer = SummaryWriter("logs")

#关闭
writer.closer()

2.3 常用函数(add_scalar()、add_image())

2.3.1 writer.add_scalar("tag" , y , x )

将y=2x的图像画在tensorboard上,

for i in range(100):
    writer.add_scalar("y=2x", 2*i, i)#参数分别为:标题,y轴,x轴

结果:


上传标量数据

*注:出现比较怪的图像的话,把logs文件夹下的文件全部删除,再按ctrl+c取消下面命令的运行,再重新运行命即可。

2.3.2 writer.add_image("tag", path, step, dataformats)

#使用这个函数需要定义一个文件夹名称,这个文件夹存储实例的事件文件
 writer = SummaryWriter("logs")
 image_path = "dataset\\train\\bees\\16838648_415acd9e3f.jpg"
#使用Image.open()打开图片图片的数据类型为PIL型
 img_PIL = Image.open(image_path)
#将PIL型图片转化为numpy型,因为writer.add_image()函数只能接收numpy型和torch.tensor型图片
 img_array = np.array(img_PIL)
#'HWC'分别代表高度、宽度和通道数,因为add_image()接收的图片shape也有要求。
#如果不改名称的话,所有的图片都会展示在一个框下,可以通过拖动标尺查看不同的图片
 writer.add_image("train",img_array,2,dataformats='HWC')#参数分别为:名称,图片地址,训练步数,图片shape格式

结果:


上传图片

3 命令

  tensorboard --logdir=logs --port=6007#logdir=事件文件所在文件夹名,port为指定端口
附 全部代码
from torch.utils.tensorboard import SummaryWriter#从torch的utils工具箱中导入tensorboard工具中的SummaryWriter类
from PIL import Image
import numpy as np

writer = SummaryWriter("logs")#使用这个函数需要定义一个文件夹名称,这个文件夹存储实例的事件文件
image_path = "dataset\\train\\bees\\16838648_415acd9e3f.jpg"
img_PIL = Image.open(image_path)#使用Image.open()打开图片图片的数据类型为PIL型
img_array = np.array(img_PIL)#将PIL型图片转化为numpy型,因为writer.add_image()函数只能接收numpy型和torch.tensor型图片
writer.add_image("train",img_array,2,dataformats='HWC')#'HWC'分别代表高度、宽度和通道数,因为add_image()接收的图片shape也有要求。

for i in range(100):
    writer.add_scalar("y=2x",2*i,i)#标题,y轴,x轴

writer.close()

参考视频:
https://www.bilibili.com/video/BV1hE411t7RN?p=9&spm_id_from=pageDriver

上一篇下一篇

猜你喜欢

热点阅读