Pytorch中TensorBoard及torchsummary的使用详解


Posted in Python onMay 12, 2021

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及torchsummary的使用详解

补充: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端口

Pytorch中TensorBoard及torchsummary的使用详解

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

Python 相关文章推荐
python查看列的唯一值方法
Jul 17 Python
使用Python实现从各个子文件夹中复制指定文件的方法
Oct 25 Python
python 将对象设置为可迭代的两种实现方法
Jan 21 Python
在Python中,不用while和for循环遍历列表的实例
Feb 20 Python
Python 3.8正式发布,来尝鲜这些新特性吧
Oct 15 Python
简单了解python元组tuple相关原理
Dec 02 Python
python实现将列表中各个值快速赋值给多个变量
Apr 02 Python
解决jupyter notebook 出现In[*]的问题
Apr 13 Python
使用Django搭建网站实现商品分页功能
May 22 Python
基于Python中random.sample()的替代方案
May 23 Python
Python引入多个模块及包的概念过程解析
Sep 21 Python
Python3中PyQt5简单实现文件打开及保存
Jun 10 Python
pytorch 一行代码查看网络参数总量的实现
May 12 #Python
pytorch查看网络参数显存占用量等操作
May 12 #Python
Python入门之使用pandas分析excel数据
May 12 #Python
将Python代码打包成.exe可执行文件的完整步骤
python3实现Dijkstra算法最短路径的实现
pytorch 中autograd.grad()函数的用法说明
python3实现无权最短路径的方法
You might like
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
2011/08/23 PHP
Smarty foreach控制循环次数的实现详解
2013/07/03 PHP
php时间戳格式化显示友好的时间函数分享
2014/10/21 PHP
thinkPHP中分页用法实例分析
2015/12/26 PHP
PHP编写daemon process详解及实例代码
2016/09/30 PHP
JavaScript的类型转换(字符转数字 数字转字符)
2010/08/30 Javascript
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染
2010/11/16 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
jquery实现九宫格大转盘抽奖
2015/11/13 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
2015/11/19 Javascript
jquery ajax双击div可直接修改div中的内容
2016/03/04 Javascript
canvas的神奇用法
2017/02/03 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
Python操作redis和mongoDB的方法
2019/12/19 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
StubHub智利:购买和出售您的门票
2016/11/23 全球购物
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
二手房购房意向书范本
2014/04/01 职场文书
节约用水倡议书
2014/04/16 职场文书
党的群众路线对照检查材料思想汇报(学校)
2014/10/04 职场文书
瘦西湖导游词
2015/02/03 职场文书
德能勤绩廉个人总结
2015/02/14 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书
Python 如何实现文件自动去重
2021/06/02 Python
Python+Tkinter制作专属图形化界面
2022/04/01 Python
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
2022/04/13 Java/Android