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的使用_第1张图片

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_step x 值
  • 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的使用_第2张图片

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

其他

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

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

你可能感兴趣的:(PyTorch入门,pytorch,学习,python)