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实现批量重命名文件的代码
May 25 Python
Python使用MD5加密字符串示例
Aug 22 Python
Python中的urllib模块使用详解
Jul 07 Python
Python读取mat文件,并转为csv文件的实例
Jul 04 Python
Flask-Mail用法实例分析
Jul 21 Python
强悍的Python读取大文件的解决方案
Feb 16 Python
python适合人工智能的理由和优势
Jun 28 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
Jul 14 Python
使用Django和Postgres进行全文搜索的实例代码
Feb 13 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
Mar 30 Python
学生如何注册Pycharm专业版以及pycharm的安装
Sep 24 Python
移除Selenium中window.navigator.webdriver值
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防注入漏洞过滤函数代码
2012/04/11 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
汇总PHPmailer群发Gmail的常见问题
2016/02/24 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
Thinkphp5 自定义上传文件名的实现方法
2019/07/23 PHP
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
JQUBar 基于JQUERY的柱状图插件
2010/11/23 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
jQuery表格插件datatables用法详解
2020/11/23 Javascript
js实现点击图片自动提交action的简单方法
2016/10/16 Javascript
深入理解vue Render函数
2017/07/19 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
2019/10/30 Javascript
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
怎样使用Python脚本日志功能
2016/08/14 Python
Python+matplotlib实现填充螺旋实例
2018/01/15 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
Appium+python自动化怎么查看程序所占端口号和IP
2019/06/14 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
哪些是python中web开发框架
2020/06/17 Python
Python pysnmp使用方法及代码实例
2020/08/24 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
戴尔荷兰官方网站:Dell荷兰
2020/10/04 全球购物
Shell编程面试题
2016/05/29 面试题
Java面试笔试题大全
2016/11/23 面试题
什么是servlet链?
2014/07/13 面试题
入党申请自荐书范文
2014/02/11 职场文书
五水共治一句话承诺
2014/05/30 职场文书
班组拓展活动方案
2014/08/14 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
详解Flask开发技巧之异常处理
2021/06/15 Python
python实现一个简单的贪吃蛇游戏附代码
2022/06/28 Python