Pytorch中TensorBoard及torchsummary的使用详解

 更新时间:2021年05月12日 11:31:26   作者:Mr_寒路  
这篇文章主要介绍了Pytorch中TensorBoard及torchsummary的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1.TensorBoard神经网络可视化工具

TensorBoard是一个强大的可视化工具,在pytorch中有两种调用方法:

1.from tensorboardX import SummaryWriter

这种方法是在官方还不支持tensorboard时网上有大神写的

2.from torch.utils.tensorboard import SummaryWriter

这种方法是后来更新官方加入的

1.1 调用方法

1.1.1 创建接口SummaryWriter

功能:创建接口

调用方法:

writer = SummaryWriter("runs")

参数:

log_dir:event file输出文件夹

comment:不指定log_dir时,文件夹后缀

filename_suffix:event file文件名后缀

1.1.2 记录标量add_scalars()

功能:记录标量add_scalars()

调用方法:

writer.add_scalars("name",{"dic":val},epoch)

参数:

tag:图像的标签名

scalar_step:要记录的标量

global_step:轮次

1.1.3 统计直方图add_histogram()

功能:统计直方图与多分位数折线图

调用方法:

writer.add_histogram("weight",self.fc.weight,epoch)

参数:

tag:图像的标签名

values:要画直方图的数据

global_step:轮次

bins:取值有 ‘tensorflow'、‘auto'、‘fd' 等

1.1.4 批次显示图像add_image()

功能:批次显示图像

调用方法:

writer.add_image(“Cifar10”, img_batch, epoch,'CHW')

参数:

tag:图像的标签名

img_tensor:图像数据,注意尺寸

global_step:轮次

dataformats:数据形式,CHW,HWC,HW

1.1.5 查看模型图add_graph()

功能:查看模型图

调用方法:

writer.add_graph(model=net,input_to_model=torch.randn(1,3, 224, 224).to(device))

参数:

model:模型,必须是nn.Module

input_to_model:输出给模型的数据

verbose:是否打印计算图结构信息

写完记得要写 writer.close()

2.查看网络层形状、参数torchsummary

功能:查看网络层形状、参数

调用方法:

from torchsummary import summary
summary(net, input_size=(3, 224, 224))

参数:

model:pytorch模型

input_size:模型输入size

batch_size:batch size

device:“cuda” or “cpu”

3.启动tensorboard

在文件路径中cmd打开终端,输入

tensorboard --logdir="./runs"

runs是我保存文件的文件名,打开以下链接

在这里插入图片描述

补充:pytorch调用tensorboard方法尝试

tensorboard提供了用于监视训练损失很好的接口,可以帮助我们更好的调整参数。下文介绍如何在pytorch中调用tensorboard。

首先

安装tensorboard、tensorflow以及tensorboardX

第二

在文件开头导入SummaryWriter

from tensorboardX import SummaryWriter

第三

同tensorflow的tensorboard一样,tensorboardX提供多种记录方式如scalar、image等。

writer = SummaryWriter('path')

如果不添加path,则默认以时间命名。

第四

添加监视变量

writer.add_scalar('Train/Acc', Acc, iter)

第五

打开tensorboard

tensorboard --logdir 'path'

第六

在浏览器打开6006端口

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • python安装教程 Pycharm安装详细教程

    python安装教程 Pycharm安装详细教程

    这篇文章主要介绍了python的安装教程,和Pycharm的安装详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Python自定义模块的创建与使用

    Python自定义模块的创建与使用

    这篇文章主要给大家介绍了关于Python自定义模块创建与使用的相关资料,文中还给大家分享了python打包用户自定义模块的方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • python中的round()函数用法详解

    python中的round()函数用法详解

    这篇文章主要给大家介绍了关于python中round()函数用法的相关资料,round()函数是Python内置函数之一,用于对数字进行四舍五入操作,需要的朋友可以参考下
    2023-08-08
  • 对python opencv 添加文字 cv2.putText 的各参数介绍

    对python opencv 添加文字 cv2.putText 的各参数介绍

    今天小编就为大家分享一篇对python opencv 添加文字 cv2.putText 的各参数介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python tkinter库实现登录注册基本功能

    Python tkinter库实现登录注册基本功能

    Python自带了tkinter模块,实质上是一种流行的面向对象的GUI工具包 TK 的Python编程接口,提供了快速便利地创建GUI应用程序的方法,下面这篇文章主要给大家介绍了关于tkinter库制作一个简单的登录注册小程序,需要的朋友可以参考下
    2022-12-12
  • 一文详解如何配置Pycharm进行远程开发

    一文详解如何配置Pycharm进行远程开发

    在搞深度学习的时候,我们在本地开发,但是需要在服务器去运行工程,所以需要使用Pycharm进行远程配置,下面这篇文章主要给大家介绍了关于如何配置Pycharm进行远程开发的相关资料,需要的朋友可以参考下
    2024-02-02
  • pytorch通过自己的数据集训练Unet网络架构

    pytorch通过自己的数据集训练Unet网络架构

    Unet是一个最近比较火的网络结构。它的理论已经有很多大佬在讨论了。本文主要从实际操作的层面,讲解如何使用pytorch实现unet图像分割
    2022-12-12
  • python实现扫描日志关键字的示例

    python实现扫描日志关键字的示例

    下面小编就为大家分享一篇python实现扫描日志关键字的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • django中send_mail功能实现详解

    django中send_mail功能实现详解

    这篇文章主要给大家介绍了关于django中send_mail功能实现的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-02-02
  • python通过索引遍历列表的方法

    python通过索引遍历列表的方法

    这篇文章主要介绍了python通过索引遍历列表的方法,实例分析了Python遍历列表的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-05-05

最新评论