TensorBoard 在1.0 版本后的使用

原创 2017年03月08日 15:14:27

注意:在阅读本文之前,请务必更新你的浏览器。Chrome大法好!
数据、模型可视化是TensorFlow的一项重要的功能,安装后自带的TensorBoard是一个很强大的工具,但目前的教程大多都停留在TensorFlow 1.0 版本之前,一些函数已经改名无法使用,因此写一篇比较新的使用说明。


主要区别

如果之前使用过TensorBoard,其实只是换一下函数名就可以了。在Github上新版本说明文档中,已经有了对这一方面的说明:

Replace tf.scalar_summary, tf.histogram_summary, tf.audio_summary, tf.image_summary with tf.summary.scalar, tf.summary.histogram, tf.summary.audio, tf.summary.image, respectively. The new summary ops take name rather than tag as their first argument, meaning summary ops now respect TensorFlow name scopes.

也就是说,summary独立出来了,以前tf.XXX_summary这样的下划线变成了tf.summary.XXX的格式。

数据可视化

对于标量

如果我们想对标量在训练中可视化,可以使用tf.summary.scalar(),比如损失loss:

loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),reduction_indices=[1])) 
tf.summary.scalar('loss',loss) 

得到一个loss的summary。

对于参数

应使用tf.summary.histogram(),如全链接的权重:

tf.summary.histogram("/weights",Weights) 

merge并运行

就像变量需要初始化一样,summary也需要merge:

merged = tf.summary.merge_all()

之后定义一个输出器记录下在运行中的数据:

writer = tf.summary.FileWriter("output/",sess.graph)

最后记得在训练过程中执行这两个模块:

for i in range(1000):
    sess.run(train_step,feed_dict={xs:x_data,ys:y_data})
    if i%50==0:# 50次记录一次
        result = sess.run(merged,feed_dict={xs:x_data,ys:y_data})
        writer.add_summary(result,i) 

TensorBoard 运行

安装TensorFlow时已经自带TensorBoard,如果直接在命令行中输入tensorboard而没有对应指令,可以从安装目录下执行:

python ~/.local/lib/python2.7/site-packages/tensorflow/tensorboard/tensorboard.py --logdir=output/

运行成功后,会显示:

(You can navigate to http://XXX.XXX.XXX.XXX:6006)

然后在浏览器中输入这个地址即可。

注意
IE以及低版本的Chrome都对TensorBoard不兼容(firefox据说也不好用),会出现白屏或者点开loss图没有内容的情况。因为用的台式电脑,之前用的人装了360,我也就继续用了,结果在这里纠结了很久……

tensorboard

行了,这就成功了~


现在越学越觉得TensorFlow复杂了。。

版权声明:本文为博主原创文章,转载请标注出处。

tensorflow学习笔记十四:TF官方教程学习 tf.contrib.learn Quickstart

TensorFlow高级API(tf.contrib.learn)及可视化工具TensorBoard的使用 一.TensorFlow高层次机器学习API (tf.contrib.learn)...
  • xiaopihaierletian
  • xiaopihaierletian
  • 2017年03月16日 14:55
  • 7522

Tensorflow-报错解决方案

大部分是Api版本问题: AttributeError: 'module' object has no attribute 'SummaryWriter' tf.train.SummaryW...
  • waterydd
  • waterydd
  • 2017年04月19日 10:52
  • 1836

学习TensorFlow,TensorBoard可视化网络结构和参数

在学习深度网络框架的过程中,我们发现一个问题,就是如何输出各层网络参数,用于更好地理解,调试和优化网络?针对这个问题,TensorFlow开发了一个特别有用的可视化工具包:TensorBoard,既可...
  • helei001
  • helei001
  • 2016年07月06日 22:29
  • 27395

tensorflow从0开始(2)--可视化调试工具tensorboard

TensorBoard TensorBoard的官网教程如下:  https://www.tensorflow.org/versions/r0.7/how_tos/summaries_and_tens...
  • searobbers_duck
  • searobbers_duck
  • 2016年06月14日 10:19
  • 64276

【TensorFlow动手玩】常用集合: Variable, Summary, 自定义

TensorFlow的集合,Variable,Summary
  • shenxiaolu1984
  • shenxiaolu1984
  • 2016年11月04日 23:10
  • 12979

tf.summary

TensorBoardscalars:标量显示 tf.summary.scalarhistograms:变量显示 tf.summary.histogramimages:展示训练过程中记录的图像 ...
  • u013163281
  • u013163281
  • 2017年08月21日 18:07
  • 376

【tensorflow1.0学习笔记004】TensorBoard可视化助手

申明:暂且为初稿: 使用tf.scalar_summary来收集想要显示的变量定义一个summury op, 用来汇总多个变量得到一个summy writer,指定写入路径通过summary_...
  • SMF0504
  • SMF0504
  • 2017年02月22日 00:34
  • 10606

TensorFlow 图像数据预处理及可视化

注:文章转自《慢慢学TensorFlow》微信公众号 图像是人们喜闻乐见的一种信息形式,“百闻不如一见”,有时一张图能胜千言万语。图像处理是利用计算机将数值化的图像进行一定(线性或非...
  • dxmkkk
  • dxmkkk
  • 2017年02月08日 13:22
  • 10269

TensorFlow学习笔记--mnist可视化版本

主要代码tensorflow的官网上都有,这个版本主要是增加了一些可视化的东西。方便观察一些变量。 注:以下代码为1.0版本下...
  • l18930738887
  • l18930738887
  • 2017年02月12日 16:35
  • 1136

TensorBoard可视化demo--summary/scalar/histogram/FileWriter

本程序基于tensorflow下对MNIST数据集进行识别的程序代码 修改得到. 主要就是为了实现TensorBoard的可视化,加入了summary data到event file中去,有summ...
  • youyuyixiu
  • youyuyixiu
  • 2017年05月09日 22:08
  • 1090
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TensorBoard 在1.0 版本后的使用
举报原因:
原因补充:

(最多只允许输入30个字)