【pytorch记录】SummaryWriter保存日志
创始人
2025-05-31 05:13:07
0

在pytorch框架中,关于日志的保存,其中一种方式就是借鉴使用了tensorboard的库。所以我们需要在环境中安装tensorboard库,然后再在工程中进行该库的调用

1 安装与导入

  • 安装:conda install tensorboardX 或者 pip install tensorboardX
  • 导入
     from tensorboardX import SummaryWriterwriter = SummaryWriter(logPath)...writer.close()
    

2 添加需要保存标量数据

在这里插入图片描述

  • add_scalar(tag, scalar_value, global_step=None) 从源码中我们能看到核心的三个参数为前三个。通俗的讲分别代表
    • tag:图的标签名,唯一标识
      scalar_value:y轴数据,标量数据的具体数值
      global_step:x轴数据,要记录的全局步长值
  • add_scalars(main_tag, tag_scalar_dit)多项标题记录方法,其中:
    • main_tag —— 该图的标签
      tag_salar_dict —— 字典形式的tag-scalar_value对

源码中也有例子:

from tensorboardX import SummaryWriter
import numpy as npwriter = SummaryWriter('run/logs')max_epoch = 100
for x in range(max_epoch):writer.add_scalar('t/y=2x', x * 2, x)    #x*2为y轴数据,x为x轴数据writer.add_scalar('t/y=pow_2_x', 2^x, x)writer.add_scalars('scalar_group', {"xsinx": x * np.sin(x),"xcosx": x * np.cos(x)}, x)writer.close()


运行完该脚本后,运行tensorboard命令:tensorboard --logdir=./run/
在这里插入图片描述
在浏览器中打开链接:【http://localhost:6006/】
在这里插入图片描述

3 添加需要保存图片数据

在这里插入图片描述
从源码中我们能看到add_image的主要参数如下。通俗的讲分别代表

  • tag:曲线图名字,唯一标识
  • img_tensor:图片数据,类型要求为 tensor/numpy/string 等
  • global_step:要记录的全局步长值
  • dataformats:图片输入的默认维度。注意是"CHW"
from tensorboardX import SummaryWriter
import numpy as np
img = np.zeros((3, 100, 100))
img[0] = np.arange(0, 10000).reshape(100, 100) / 10000
img[1] = 1 - np.arange(0, 10000).reshape(100, 100) / 10000img_HWC = np.zeros((100, 100, 3))
img_HWC[:, :, 0] = np.arange(0, 10000).reshape(100, 100) / 10000
img_HWC[:, :, 1] = 1 - np.arange(0, 10000).reshape(100, 100) / 10000writer = SummaryWriter('run/logs')
writer.add_image('my_image', img, 0)# If you have non-default dimension setting, set the dataformats argument.
writer.add_image('my_image_HWC', img_HWC, 0, dataformats='HWC')
writer.close()

在这里插入图片描述

4 直方图的记录

画直方图主要为了看参数的分布状态,使用add_histogram(tag, values, global_step=None, bins=’tensorflow’, walltime=None),其中tag, value, global_step的含义同上,示例如下:

# 每个epoch,记录梯度,权值
for name, param in net.named_parameters():writer.add_histogram(name + '_grad', param.grad, epoch)writer.add_histogram(name + '_data', param, epoch)

5 网络结构的记录

展示结构图使用add_graph(model, input_to_model=None, verbose=False)

writer = SummaryWriter(comment='test_your_comment', filename_suffix="_test_your_filename_suffix")
# 模型
fake_img = torch.randn(1, 3, 32, 32)
yolo = Yolo(classes=2)
writer.add_graph(yolo, fake_img)
writer.close()

相关内容

热门资讯

现代名言名句 精选现代名言名句集锦  1、朋友是路,家是树。别迷路,靠靠树。  2、目光远大,目标明确的人往往非常...
牛顿名言名句 牛顿名言名句  在日常学习、工作或生活中,大家肯定对各类名言都很熟悉吧,名言具有概括自然有力,言简意...
胡立阳的名言 胡立阳的名言精选  在21世纪,房价才是最重要的通胀指标,才是值得重视的痛苦指数。  新手怕大跌,老...
幸福的名言积累 关于幸福的名言积累  幸福是一个不断渴望的过程,从一个目标到另一个目标,达到前者就开辟了通向后者的道...
尊严的人生格言 关于尊严的人生格言  1、人的一切尊严,就在于思想,关于尊严的人生格言。——巴斯葛  2、我们的尊严...
陶行知教育名言名句 陶行知教育名言名句  大家对教育家陶行知都很熟悉,大家记得他有什么教育名言吗?下面让我们来一起欣赏一...
中秋节的名言 中秋节的名言大全  在日常的学习、工作、生活中,大家最不陌生的就是名言了吧,名言是指一些名人说的,写...
交友名言警句 交友名言警句(通用255句)  在学习、工作或生活中,大家都听说过或者使用过一些比较经典的名言吧,多...
奥林匹克的格言是谁 奥林匹克的格言是谁奥林匹克的格言是谁最早的格言 迪东奥林匹克格言“更快、更高、更强”Faster,H...
非常经典的搞笑名言 28句非常经典的搞笑名言  1、老鼠一发威,大家都是病猫。  2、听君一席话,省我十本书!  3、时...
学习的古语名言 关于学习的古语名言  学而不思则罔,思而不学则殆。孔子的这句关于学习的名言流传至今,激励我们的学习,...
爱情哲理名言摘抄 爱情哲理名言摘抄  爱情从希望开始,也由绝望结束。死心了,便是不再存在着任何我曾经对你有过的希望。分...
经典人生唯美格言短句 经典人生唯美格言短句汇总(精选70句)  心,若没有栖息的地方,到哪里都是流浪。这篇文章是小编为各位...
许三多的励志名言 许三多的励志名言  在日复一日的学习、工作或生活中,许多人对一些广为流传的名言都不陌生吧,巧用名言有...
员工岗位名言 员工岗位名言  在平日的学习、工作和生活里,大家总免不了要接触或使用名言吧,下面是小编精心整理的员工...
十大箴言帮你广交朋友 关于十大箴言帮你广交朋友  你知道吗,如果你的同事们看起来都是一副冰山不可亲近的样子的话,那可能是你...
李斯的名言名句 有关李斯的名言名句  在学习、工作、生活中,大家都经常接触到名言吧,名言可以用来鞭策自己,帮助我们保...
爱默生名言名句阅读欣赏 爱默生名言名句大全阅读欣赏  爱默生名言名句大全  1、一项发明创造会带来更多的发明创造。——爱默生...
知音的名言佳句 关于知音的名言佳句  在现实生活或工作学习中,大家总免不了要接触或使用名言吧,名言是人们在实践中的经...
徐俯名句名句   徐俯名言名句  1、青蒻笠,绿蓑衣,斜风细雨不须归。  2、清池过雨凉,暗有清香度。  3、旧来...