:)基于pytorch 的loss监控可视化-|
基于pytorch 的loss监控可视化
绘制可以train和val在一张图上的趋势图。
1 安装tensorboard
pip install tensorboard
2 嵌入代码工程
1) 定义 数据集
# ----------------训练可视化------------------ from torch.utils.tensorboard import SummaryWriter # 写入、可视化操作(pip install ) writer = SummaryWriter(r"logs\train") writer_val = SummaryWriter(r"logs\val") # ------------------end----------------------- # 开始训练 for epoch in range(args.epochs):
定义在开始循环epoch之前
原理时logs 目录下的子目录就是 绘制曲线的数据。
trainloss 和val loss 一定不同的 数据集, writer_train与writer_val也是两个 管理不同数据的对象。
2)定义图名称
writer.add_scalar('loss', train_lst, train_id) writer_val.add_scalar('loss', val, val_id)
其中writer 就是 管理数据对象
“loss” 为图的名称 和 数据含义
train_lst, train_id对应 数据和epoch
注意: 这个图标的名称,add_scalar 第一位参数名一定要一致,否则在ternsorboard中的图标就是两个, 那么train和val的数据不会显示在一张表中。
3)关闭
# 关闭SummaryWriter对象 writer.close() writer_val.close()
在for epoch外关闭
3 启动监听
打开终端
输入
tensorboard --logdir=C:\Users\xialiu05\Documents\ 公司任务\ecosys\GPT2\GPT2-chitchat-master\logs
4 查看趋势图
浏览器中输入 http://localhost:6006/ 打开趋势图
若勾选一个仅显示一个图标
当然这里可以加入acc