loss曲线 pytorch_PyTorch 中的 tensorboard 可视化

本文介绍了如何在PyTorch中利用TensorBoard进行CNN训练过程的可视化,包括loss和accuracy的变化曲线,以及图片和模型的可视化。通过示例详细解释了SummaryWriter的使用方法,帮助理解TensorBoard的可视化功能。
摘要由CSDN通过智能技术生成

742fecc9ebc9a0345a8c82ddba1a39ae.png

如果我们实现了一个 CNN 网络,在 mnist 上通过两个卷积层完成分类识别。但是在我们调试代码的过程中,其实往往会想要知道我们的网络训练过程中的效果变化,比如 loss 和 accuracy 的变化曲线。

当然,我们可以将训练过程中的数据数据打印出来,但是一个是不够直观,另外一个是没有图形的表现力强。所以本篇笔记介绍了 tensorboard 来完成可视化的操作。

1. TensorBoard 介绍
tensorboard 一开始是在 TensorFlow 中的可视化工具,它可以用来展示网络图、数据的处理流程、执行过程中的指标变化。特别是在训练网络的时候,网络参数的不同设置(比如:权重、偏置、卷积层数、全连接层数等)。通俗点就是网络训练过程中的各种参数和指标的变化都可以展示成图表的形式,除此之外,还可以展示网络模型的结构,训练数据的照片等。 在 TensorFlow 中的优秀表现,使得 pytorch 从 1.2.0 版本开始,正式自带了 tensorboard。也就可以很方便的在 pytorch 训练中进行可视化了。
2. 先 run 一个示例吧

按照我们的习惯,先找一个简单的例子 run 起来,再一步步去学习其中的原理吧。首先我们看一个官方文档的示例:

from torch.utils.tensorboard import SummaryWriterwriter = SummaryWriter()x = range(100)for i in x:    writer.add_scalar('y=2x', i * 2, i)writer.close()
执行这一段代码后,tensorboard 会在 './runs' 文件夹下保存训练的日志。 接下来我们仔细的分析一下这个例子,来帮助理解这里的具体执行过程:
  • 首先导入 SummaryWriter,这是一个类,需要实例化出一个对象,这里我们命名为 writer。初始化的参数我们最关心的一个就是 log 文件的地址。如果没有输入就默认为当前文件中的 runs 文件夹,如果没有 runs 文件夹则创建一个。

  • 接下来,我们看到在 for 循环中调用了 writer 的一个方法:add_scalar()

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值