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中使用中文的方法
Feb 19 Python
Python编程之多态用法实例详解
May 19 Python
Python 学习教程之networkx
Apr 15 Python
python django框架中使用FastDFS分布式文件系统的安装方法
Jun 10 Python
python多线程并发实例及其优化
Jun 27 Python
Python列表对象实现原理详解
Jul 01 Python
在VS2017中用C#调用python脚本的实现
Jul 31 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
Sep 18 Python
Python3 翻转二叉树的实现
Sep 30 Python
Python PyQt5整理介绍
Apr 01 Python
selenium+超级鹰实现模拟登录12306
Jan 24 Python
Python爬虫 简单介绍一下Xpath及使用
Apr 26 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 cookis创建实现代码
2009/03/16 PHP
php小偷相关截取函数备忘
2010/11/28 PHP
PHP中数组的三种排序方法分享
2012/05/07 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
javascript作用域和闭包使用详解
2014/04/25 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
浅谈JavaScript事件的属性列表
2015/03/01 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
2016/03/25 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
Javascript实现基本运算器
2017/07/15 Javascript
QQ跳转支付宝并自动领红包脚本(最新)
2018/06/22 Javascript
javascript 对象 与 prototype 原型用法实例分析
2019/11/11 Javascript
Python程序设计入门(4)模块和包
2014/06/16 Python
python通过字典dict判断指定键值是否存在的方法
2015/03/21 Python
python: line=f.readlines()消除line中\n的方法
2018/03/19 Python
Python sorted函数详解(高级篇)
2018/09/18 Python
python rsync服务器之间文件夹同步脚本
2019/08/29 Python
如何在 Django 模板中输出 "{{"
2020/01/24 Python
Python实现遗传算法(二进制编码)求函数最优值方式
2020/02/11 Python
python实现处理mysql结果输出方式
2020/04/09 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
函数指针的定义是什么
2016/08/14 面试题
导游个人求职信
2014/04/25 职场文书
委托书的格式
2014/08/01 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
描述鲁迅的名言整理,一生受用
2019/08/08 职场文书
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript