Pytorch中TensorBoard及torchsummary的使用详解
作者:Mr_寒路 发布时间:2023-10-14 11:22:36
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端口
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/weixin_47873308/article/details/111313102


猜你喜欢
- 我就废话不多说了,大家还是直接看代码吧~In [1]: import osIn [2]: os.environ["CUDA_VIS
- 正在看的ORACLE教程是:Oracle 数据表分区的策略。本文描述通过统计分析出医院信息系统需分区的表,对需分区的表选择分区键,即找出包括
- 大数据预测是大数据最核心的应用,是它将传统意义的预测拓展到“现测”。大数据预测的优势体现在,它把一个非常困难的预测问题,转化为一个相对简单的
- python的数据类型有:数字(int)、浮点(float)、字符串(str),列表(list)、元组(tuple)、字典(dict)、集合
- 前言为了上班摸鱼方便,今天自己写了个爬取笔趣阁小说的程序。好吧,其实就是找个目的学习python,分享一下。一、首先导入相关的模块impor
- 1、使用ImageField先安装pillow模块pip install pillow2、在app的models中设置class Image
- 写在前面好久没更新Blog了,从CRUD Boy转型大数据开发,拉宽了不少的知识面,从今年年初开始筹备、组建、招兵买马,到现在稳定开搞中,期
- 个人使用样例及部分翻译自官方文档,并详细介绍chart的使用一:基础应用1.创建pptx文档类并插入一页幻灯片from pptx impor
- 有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常、警告状态)使用了位运算机制在一个int型中存储。现在监控日志数据
- 当py文件中引用了库face_recognition但是python中没有安装这个库的时候,就会出现No module named '
- 本文实例讲述了Yii2基于Ajax自动获取表单数据的方法。分享给大家供大家参考,具体如下:这里有两张表,表结构如下,locations表存放
- Python对象动态的增加属性和方法前面我们了解到数据封装、继承和多态只是面向对象程序设计中最基础的3个概念。在Python中,面向对象还有
- 一、pycharm字体放大的设置File —>setting —> Keymap —>在搜寻框中输入increase —&
- 前言:关于数据库范式,时常有听说过,一直没有详细去了解。一般数据库书籍或数据库课程会介绍范式相关内容,范式也经常出现在数据库考试题目中。不清
- 使用VScode的用户代码片段功能,来生成自己习惯的代码模板,提升开发效率1.选择菜单里的 文件 > 首选项 > 用户代码片段2
- Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼、富有朝气。但也许你还没有发现并应用它的一些更高级的功能吧
- window.opener.location.reload()刷新父窗口window.opener.location.reload() 与
- PDOStatement::getColumnMetaPDOStatement::getColumnMeta — 返回结果集中一列的元数据(
- Oracle数据库以其高可靠性、安全性、可兼容性,得到越来越多的企业的青睐。如何使Oracle数据库保持优良性能,这是许多数据库管理员关心的
- 前言通过辣条最近观察,大家好像对划水摸鱼是情有独钟啊。于是乎我重操旧业又写上了这么一个简单版的星空大战小游戏。当然了辣条的初衷绝对不是让你们