pytorch学习(2) Tensorboard的使用

Tensorboard的使用

​ tensorboard的好处:

该模块构建具有类函数关系的视觉线/图片,有助于直观地分析数据

  • 使用前,我们需要导入对应的模块
from torch.utils.tensorboard import SummaryWriter
  • 然后我们可以实例化一个对象并执行我们需要的行为
writer = SummaryWriter('logs')		
# 参数为最终结果导出到的文件夹名, 如果不加参数会按照默认值

下面主要介绍两种tensorboard的使用方法

1. add_scalar()方法

scalar是标量的意思, 可以理解为一个数字吧, 使用add_scalar()方法可以得到一个函数图像的数据

add_scalar(tag, scalar_value, global_step)

  • tag参数可以理解为一个标签(名字)
  • scalar_value标量值, 可以看做坐标轴的 y 值
  • global_step可以理解为 x 值
# 如下代码建立了叫做y=x的, x 与 y 值相等的图像
for val in range(100):
	writer.add_scalar('y=x', val, val)
    
'''
	生成的文件, 需要用命令行命令打开
	tensorboard --logdir=log --port=6007	# port表示端口号
''' 

pytorch学习(2) Tensorboard的使用

2. add_image()方法

这里的image需要的类型是tensor或numpy类型, 而我们之前知道了如何获得PIL类型的image

  • 使用numpy将PIL类型转化为numpy.array类型
import numpy as np
img_array = np.array(img_PIL)		# img_array 就是我们需要的numpy类型了	

add_image(tag, img_tensor, global_step, dataformats)

  • tag标签
  • img_tensor对应numpy类型的img_array
  • global_stepx 值
  • dataformats数据的形式
  • tensor类型对应 ‘CHW’
  • numpy类型对应 ‘HWC’
  • C: 通道数, H: 模型的高, W: 模型的宽
# 导入图片, 用Image模块
img_PIL = Image.open('MyDataset/train/cartoon_image/000505-1640102705bfdf.jpg')
# 转化为numpy类型
img_array = np.array(img_PIL)
# 建立图像
writer.add_image('test', img_array, 1, dataformats='HWC')

最终图像

pytorch学习(2) Tensorboard的使用

最后不要忘了:关闭tensorboard ==> writer.close()

其他

add_image仅适用于batchsize为1的图片, 如果>1就需要用到add_images, 用法基本一致

其次,add_graph用于将输入和神经网络模型间的变化流程可视化为流程图

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2022年3月16日
下一篇 2022年3月16日

相关推荐