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