# 一、Tensorboard 的使用逻辑

   Tensorboard 的工作流程简单来说是:
1、将代码运行过程中所关心的数据保存在一个文件夹中(由代码中的 writer 完成)
2、再读取这个文件夹中的数据,用浏览器显示出来(在命令行中运行 tensorboard 完成)

# 二、代码中要做的事

# 1、首先导入 tensorboard,这里的 SummaryWriter 的作用就是将数据以特定的格式存储到第一步提到的文件夹中。
from torch.utils.tensorboard import SummaryWriter
# 2、实例化,传入的参数就是指向文件夹的路径,之后我们使用这个 writer 对象 “拿出来” 的任何数据都保存在这个路径之下。
writer = SummaryWriter('logs')
# 3、接下来要向这个文件夹里写入数据,可以写入多种数据
# 3.1、比如写入数值可以调用 writer.add_scalar (tag, scalar_value, global_step=None, walltime=None)
# ----- 其中 tag 指定可视化时这个变量的名字,scalar_value 是你要存的值,global_step 可以理解为 x 轴坐标。
# ----- 如下的例子会根据 [i,2i](i=0,...99) 生成一个 y=2x 的折线图
for i in range(100):
    writer.add_scalar('y=2x', 2*i, i)
# 3.2、除了数值,还可以写入模型训练过程中的图像。
# -----writer.add_image(tag, img_tensor, global_step=None, walltime=None, dataformats='CHW')
# -----writer.add_images(tag, img_tensor, global_step=None, walltime=None, dataformats='NCHW')
image_path = "hymenoptera_data/train/ants/5650366_e22b7e1065.jpg"  #图片路径
img = cv2.imread(image_path)
writer.add_image('test', img, 1, dataformats='HWC')

# 三、可视化

  通过上一节的步骤已经将关心的数据拿出来了,接下来我们只需要在命令行运行:

tensorboard --logdir=logs # (命令行运行)logs 是第二步的路径
# tensorboard --logdir=logs --port=6007 # 默认端口号是 6006,可以手动更改为 6007 或者其他
更新于 阅读次数