pytorch SummaryWriter保存日志的方法

 更新时间:2023年03月21日 11:37:45   作者:magic_ll  
这篇文章主要介绍了pytorch SummaryWriter保存日志的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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

1 安装与导入

安装:conda install tensorboardX 或者 pip install tensorboardX
导入
from tensorboardX import SummaryWriter
 writer = 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 np

writer = 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) / 10000

img_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) / 10000

writer = 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()

到此这篇关于pytorch SummaryWriter保存日志的文章就介绍到这了,更多相关pytorch 保存日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python信息处理库Talon自动抽取签名信息

    Python信息处理库Talon自动抽取签名信息

    这篇文章主要为大家介绍了Python信息处理库Talon自动抽取签名信息实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Python+OpenCV实现图片及视频中选定区域颜色识别

    Python+OpenCV实现图片及视频中选定区域颜色识别

    这篇文章主要为大家详细介绍了如何利用Python+OpenCV实现图片及视频中选定区域颜色识别功能,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-07-07
  • 使用pytorch进行图像的顺序读取方法

    使用pytorch进行图像的顺序读取方法

    今天小编就为大家分享一篇使用pytorch进行图像的顺序读取方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python之自动获取公网IP的实例讲解

    Python之自动获取公网IP的实例讲解

    下面小编就为大家带来一篇Python之自动获取公网IP的实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Pandas索引排序 df.sort_index()的实现

    Pandas索引排序 df.sort_index()的实现

    本文主要介绍了Pandas索引排序 df.sort_index()的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 详解python中的defaultdict 默认值

    详解python中的defaultdict 默认值

    这篇文章主要介绍了defaultdict 默认值,defaultdict是python内建dict类的一个字类,功能与dict相同,但它带有一个默认的值,若key值不存在时返回一个默认的值,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • Python中用max()方法求最大值的介绍

    Python中用max()方法求最大值的介绍

    这篇文章主要介绍了Python中用max()方法求最大值的介绍,是Python入门中的基础知识,需要的朋友可以参考下
    2015-05-05
  • python Pandas中数据的合并与分组聚合

    python Pandas中数据的合并与分组聚合

    大家好,本篇文章主要讲的是python Pandas中数据的合并与分组聚合,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • python如何实现图片压缩

    python如何实现图片压缩

    这篇文章主要介绍了python如何实现图片压缩,帮助大家更好的利用python处理图片,感兴趣的朋友可以了解下
    2020-09-09
  • 一篇文章教你掌握python数据类型的底层实现

    一篇文章教你掌握python数据类型的底层实现

    这篇文章主要介绍了Python 数据类型的底层实现原理分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-09-09

最新评论