TensorBoard 计算图的可视化实现
作者:yichudu 发布时间:2021-12-06 19:39:58
简介
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/.
效果截图
图3-1 logdir中的文件
图3-2 炫酷的可视化效果
figure 3-3 计算图的可视化
给出一些建议:
网络也是分模块,有结构的, 合理使用 scope 可以让计算图清晰优雅.
有些tensor来自dataset, 有些来自api中op操作的输出, 本身没有明确的名字, 此时用x=tf.identity(x,'name') 给tensor起名字, 便于计算图中定位. 图3-3 中的 memory 就是 encoder 的输出的tensor.
来源:https://blog.csdn.net/chuchus/article/details/77696674
猜你喜欢
- 前言:Requests简介Requests 是使用Apache2 Licensed 许可证的 HTTP 库。用 Python 编写,真正的为
- os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录…… 但是,o
- 当你第一次在机器上安装MySQL时,mysql数据库中的授权表是这样初始化的:你可以从本地主机(localhost)上以root连接而不指定
- 这篇文章主要介绍了python识别html主要文本框过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 前言jsonpath是一个可以在复杂的json数据中根据用户指定的规则找到特定数据的库。本文利用jsonpath对接口进行封装,旨在写一个对
- 1. 用户必须在几秒钟知道网站是做什么的。注意力是因特网上最有价值的货币。 如果访问者无法在几秒钟之内得知你的网站的方向,他很有可能转而访问
- 百度AI功能还是很强大的,百度AI开放平台真的是测试接口的天堂,免费接口很多,当然有量的限制,但个人使用是完全够用的,什么人脸识别、MQTT
- 获取需要使用到正则的两个对象:使用的是用正则对象Pattern 和匹配器Matcher。用法:范例: Pattern p = Pattern
- MySQL中,有两种方式生成有序结果集:一是使用filesort,二是按索引顺序扫描。利用索引进行排序操作是非常快的,而且可以利用同一索引同
- 本文实例讲述了python中xrange用法。分享给大家供大家参考。具体如下:先来看如下示例:>>> x=xrange(0
- 1.建表-- Create table create table test ( dm1 char(3), dm2 char(3), mc1
- 本文实例讲述了python抽象基类用法。分享给大家供大家参考。具体如下:定义抽象类,需要使用abc模块,该模块定义了一个元类(ABCMeat
- 【简 介】熟悉网页设计的网友就知道,调用Style的方法很多,我们可以单击鼠标右键选择Custon Style来调用Style标准,也可以在
- 语言的内存管理是语言设计的一个重要方面。它是决定语言性能的重要因素。无论是C语言的手工管理,还是Java的垃圾回收,都成为语言最重要的特征。
- 1. 新建项目在命令行窗口下输入scrapy startproject scrapytest, 如下然后就自动创建了相应的文件,如下2. 修
- tpch是TPC(Transaction Processing Performance Council)组织提供的工具包。用于进行OLAP测
- 索引类型聚簇索引: 叶子节点存储的是行记录,每个表必须要有至少一个聚簇索引。使用聚簇索引查询会很快,因为可以直接定位到行记录普通索引:二级索
- 这个是JS控制图片滚动的效果,当鼠标结果新闻标题时开始滚动到对应的图片,可以作为图片新闻。效果图:<!DOCTYPE HTML PUB
- 有时候为了自动化测试网页,我们往往希望能够使用一些脚本语言控制浏览器. 通过脚本模拟一些浏览器动作,然后测试得到的结果.这里, 我们讲解一下
- 本文实例为大家分享了js判断密码强度的具体代码,供大家参考,具体内容如下<!DOCTYPE html><html>&