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 网络编程起步(Socket发送消息)
Sep 06 Python
Python爬虫实现(伪)球迷速成
Jun 10 Python
python中for循环输出列表索引与对应的值方法
Nov 07 Python
浅谈python写入大量文件的问题
Nov 09 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
Jun 11 Python
pandas分区间,算频率的实例
Jul 04 Python
Django 用户认证组件使用详解
Jul 23 Python
浅析pandas 数据结构中的DataFrame
Oct 12 Python
Pytorch中实现只导入部分模型参数的方式
Jan 02 Python
使用python 的matplotlib 画轨道实例
Jan 19 Python
Python实现自动签到脚本功能
Aug 20 Python
python实现测试工具(二)——简单的ui测试工具
Oct 19 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 文章中的远程图片采集到本地的代码
2009/07/30 PHP
php文件怎么打开 如何执行php文件
2011/12/21 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
云网广告中的代码,提示出错,大家找找
2006/11/21 Javascript
Javascript里使用Dom操作Xml
2007/01/22 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
正则表达式,替换所有HTML标签的简单实例
2016/11/28 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
React-Native使用Mobx实现购物车功能
2017/09/14 Javascript
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
Python实现Sqlite将字段当做索引进行查询的方法
2016/07/21 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
python正则-re的用法详解
2019/07/28 Python
PyQt5 控件字体样式等设置的实现
2020/05/13 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
叙述DBMS对数据控制功能有哪些
2016/06/12 面试题
为什么要使用servlet
2016/01/17 面试题
反四风个人对照检查材料
2014/09/26 职场文书
护士个人总结范文
2015/02/13 职场文书
美德少年主要事迹材料
2015/11/04 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers
CSS 圆形进度栏
2021/04/06 HTML / CSS
background-position百分比原理详解
2021/05/08 HTML / CSS
我的收音机情缘
2022/04/05 无线电
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL
Elasticsearch 基本查询和组合查询
2022/04/19 Python
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android