TensorBoard 计算图的可视化实现
简介
tensorflow配套的可视化工具,将你的计算图画出来.
当训练一个巨大的网络的时候,计算图既复杂又令人困惑.TensorBoard提供了一系列的组件,可以看到learningrate的变化,看到objectivefunction的变化.
tfboard读取tf运行时你记下的eventsfiles,来进行可视化.这些eventsfiles包含了你记下的summarydata,它是protobuffer格式,并非文本文件.
推荐使用Estimator风格.
类与方法
在tf.estimator框架下,可以直接用tf.summary.scalar()这样的方法,不必显式地创建writer并调用writer.add_summary()
tensorflow.python.summary.writer.writer.FileWriter(SummaryToEventTransformer)
类.
__init__(self,logdir,graph=None,...)
构造函数,CreatesaFileWriterandaneventfile.
tensorflow.python.summary.summary
模块.
scalar(name,tensor,..)OutputsaSummaryprotocolbuffercontainingasinglescalarvalue.
histogram(name,values,collections=None,family=None)Addingahistogramsummarymakesitpossibletovisualizeyourdata'sdistributioninTensorBoard.
image
作图,对于grap-scale图来讲,0表示全黑,255表示全白.
api,image(name,tensor,max_outputs=3,collections=None,family=None)OutputsaSummaryprotocolbufferwithimages.imagesarebuiltfromtensorwhichmustbe4-Dwithshape[batch_size,height,width,channels]andwherechannelscanbe:
1.1-tensorisinterpretedasGrayscale.
2.3-tensorisinterpretedasRGB.
3.4-tensorisinterpretedasRGBA.
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-1logdir中的文件
图3-2炫酷的可视化效果
figure3-3计算图的可视化
给出一些建议:
网络也是分模块,有结构的,合理使用scope可以让计算图清晰优雅.
有些tensor来自dataset,有些来自api中op操作的输出,本身没有明确的名字,此时用x=tf.identity(x,'name')给tensor起名字,便于计算图中定位.图3-3中的memory就是encoder的输出的tensor.
以上这篇TensorBoard计算图的可视化实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。