目录
一. 实例化
实例化SummaryWriter类之后,即可调用函数求曲线,详见:
https://blog.csdn.net/qq_43307074/article/details/127645940
二. 绘制曲线
调用add_scalars()函数:
def add_scalars(
self,
main_tag,
tag_scalar_dict,
global_step=None,
walltime=None):
Args:
main_tag (string): The parent name for the tags
tag_scalar_dict (dict): Key-value pair storing the tag and corresponding values
global_step (int): Global step value to record
walltime (float): Optional override default walltime (time.time())
seconds after epoch of event
上面是官方定义的参数及意思:
- main_tag (string):图像的名称的父级名称
- tag_scalar_dict (dict):保存图像的名称及相应的值的键值对
- global_step (int):全局步值,对应x轴
- walltime (float) :可选参数,用于记录发生的时间,默认为 time.time()
三. 举个例子
from torch.utils.tensorboard import SummaryWriter
import numpy as np
np.random.seed(20221104)
writer = SummaryWriter('test_1104')
for n_iter in range(100):
writer.add_scalar('Loss', np.random.random(), n_iter)
writer.add_scalar('Accuracy', np.random.random(), n_iter)
在浏览器中查看可视化的数据,在命令行中开启tensorboard:
tensorboard --logdir=./test_1104
接着用浏览器打开http://localhost:6006/,即可连接。
若显示失败,详见:【TensorBoard系列】在本地&MobaXterm上启动TensorBoard
结果如下:
四. 保存曲线
选中“Show data download links”按钮,接着就会显示下载按钮,保存的曲线为.svg文件,然后网页在线SVG转png或者jpg即可。
五. scalars仪表盘
tensorboard的标量仪表盘,统计标量随着迭代轮数的变化情况。scalar页面功能有如下交互操作:
- 1:是否显示数据下载链接
- 2:图表平滑过程中是否忽略异常点
- 3:控制每个run点信息的显示顺序,选择default即可
- 4:平滑系数,值越大平滑越多
- 5:横坐标刻度值。 STEP:默认选项,横轴显示训练迭代次数;RELATIVE:相对时间,相对于训练开始的时间,也就是训练用时 ,单位是小时;WALL:训练的绝对时间
- 6:选择要显示的内容,此处支持正则表达式
- 7:查看大图
- 8:是否对y轴进行对数化处理
- 9:如果拖动或缩放了坐标轴,点击后回到原始位置
- 10:下载显示的数据
- 补充:在标量图中拉一个矩形,则把矩形内的数据放大展示