pytorch SummaryWriter怎么保存日志

发布时间:2023-03-21 13:45:52 作者:iii
来源:亿速云 阅读:182

这篇“pytorch SummaryWriter怎么保存日志”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“pytorch SummaryWriter怎么保存日志”文章吧。

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

1 安装与导入

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

2 添加需要保存标量数据

pytorch SummaryWriter怎么保存日志

源码中也有例子:

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/

pytorch SummaryWriter怎么保存日志

在浏览器中打开链接:【http://localhost:6006/】

pytorch SummaryWriter怎么保存日志

3 添加需要保存图片数据

pytorch SummaryWriter怎么保存日志

从源码中我们能看到add_image的主要参数如下。通俗的讲分别代表

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

pytorch SummaryWriter怎么保存日志

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怎么保存日志”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

推荐阅读:
  1. 如何使用PyTorch实现目标检测与跟踪
  2. pytorch梯度剪裁方式是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

pytorch summarywriter

上一篇:C++红黑树应用之set和map怎么使用

下一篇:Qt中的对象树机制是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》