基于pytorch 的loss监控可视化

发布时间 2023-03-30 12:12:08作者: lexn

基于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