TensorBoard 计算图的可视化实现


Posted in Python onFebruary 15, 2020

简介

tensorflow 配套的可视化工具, 将你的计算图画出来.

当训练一个巨大的网络的时候, 计算图既复杂又令人困惑. TensorBoard 提供了一系列的组件, 可以看到 learning rate 的变化, 看到 objective function 的变化.

tfboard 读取 tf 运行时你记下的 events files, 来进行可视化. 这些 events files 包含了你记下的 summary data, 它是 protobuffer 格式, 并非文本文件.

推荐使用 Estimator 风格.

类与方法

在 tf.estimator 框架下, 可以直接用 tf.summary.scalar() 这样的方法, 不必显式地创建writer并调用writer.add_summary()

tensorflow.python.summary.writer.writer.FileWriter(SummaryToEventTransformer)

类.

__init__(self, logdir, graph=None,...)

构造函数, Creates a FileWriter and an event file.

tensorflow.python.summary.summary

模块.

scalar(name, tensor, ..) Outputs a Summary protocol buffer containing a single scalar value.

histogram(name, values, collections=None, family=None) Adding a histogram summary makes it possible to visualize your data's distribution in TensorBoard.

image

作图, 对于grap-scale 图来讲, 0表示全黑, 255表示全白.

api, image(name, tensor, max_outputs=3, collections=None, family=None) Outputs a Summary protocol buffer with images. images are built from tensor which must be 4-D with shape [batch_size, height, width, channels] and where channels can be:

1.1-tensor is interpreted as Grayscale.

2.3-tensor is interpreted as RGB.

3.4-tensor is interpreted as RGBA.

tensor为float: 此时, tf会内部作正规化处理, 转换到[0,255](解析 tf_events 即可验证), float通常对应于 softm 之后的概率, 值域为[0,1].

tensor为uint8, 保持不变, tf 不作任何内部转换.

attention 可视化, attention 的权重会作 soft-max 处理, 通常img显示的效果是, 一行看下来有深有浅, 颜色越白weight越大. 但有时后tf内部正规化不符合预期, 出现一行全白的情况, 稳妥起见自己转unit类型.

打开web页面

在命令行中 敲tensorboard --logdir=D:\tf_models\iris, 根据提示打开URL即可.

比如我的为http://yichu-amd:6006/.

效果截图

TensorBoard 计算图的可视化实现

图3-1 logdir中的文件

TensorBoard 计算图的可视化实现

图3-2 炫酷的可视化效果

TensorBoard 计算图的可视化实现

figure 3-3 计算图的可视化

给出一些建议:

网络也是分模块,有结构的, 合理使用 scope 可以让计算图清晰优雅.

有些tensor来自dataset, 有些来自api中op操作的输出, 本身没有明确的名字, 此时用x=tf.identity(x,'name') 给tensor起名字, 便于计算图中定位. 图3-3 中的 memory 就是 encoder 的输出的tensor.

以上这篇TensorBoard 计算图的可视化实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python模拟登录百度代码分享(获取百度贴吧等级)
Dec 27 Python
Python3实现Web网页图片下载
Jan 28 Python
PYTHON 中使用 GLOBAL引发的一系列问题
Oct 12 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
Python 一键制作微信好友图片墙的方法
May 16 Python
python 发送json数据操作实例分析
Oct 15 Python
python单例模式原理与创建方法实例分析
Oct 26 Python
python修改linux中文件(文件夹)的权限属性操作
Mar 05 Python
使用 Python ssh 远程登陆服务器的最佳方案
Mar 06 Python
超全Python图像处理讲解(多模块实现)
Apr 13 Python
python向企业微信发送文字和图片消息的示例
Sep 28 Python
给numpy.array增加维度的超简单方法
Jun 02 Python
TensorBoard 计算图的查看方式
Feb 15 #Python
pycharm 更改创建文件默认路径的操作
Feb 15 #Python
PyCharm刷新项目(文件)目录的实现
Feb 14 #Python
浅谈Pycharm最有必要改的几个默认设置项
Feb 14 #Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
Feb 14 #Python
python图形开发GUI库pyqt5的基本使用方法详解
Feb 14 #Python
Python 写了个新型冠状病毒疫情传播模拟程序
Feb 14 #Python
You might like
十天学会php(1)
2006/10/09 PHP
PHP 第三节 变量介绍
2012/04/28 PHP
php模板原理讲解
2013/11/13 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
php输出文字乱码的解决方法
2019/10/04 PHP
jquery中ajax学习笔记4
2011/10/16 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
浅析js封装和作用域
2013/07/09 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
2014/11/08 Javascript
JQuery实现级联下拉框效果实例讲解
2015/09/17 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
全面解析JavaScript中“&&”和“||”操作符(总结篇)
2016/07/18 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
老生常谈的跨域处理
2017/01/11 Javascript
详解angular用$sce服务来过滤HTML标签
2017/04/11 Javascript
node.js ws模块搭建websocket服务端的方法示例
2019/04/25 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
Javascript实现打鼓效果
2021/01/29 Javascript
[01:09:20]NB vs NAVI Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
浅谈numpy数组的几种排序方式
2017/12/15 Python
Django如何配置mysql数据库
2018/05/04 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
PyQt5实现简易电子词典
2019/06/25 Python
python绘制直方图和密度图的实例
2019/07/08 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
Python Process创建进程的2种方法详解
2021/01/25 Python
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
女大学生个人求职信
2013/12/09 职场文书
股东协议书
2014/04/14 职场文书
药房管理制度范本
2015/08/06 职场文书
Windows10安装Apache2.4的方法步骤
2022/06/25 Servers