tensorflow学习笔记(四):TensorBoard

  我们上一节介绍过简单的TensorFlow手写字符识别程序了,但是在实际中调参和观察flow的状态是很有必要的,于是TensorFlow便有了TensorBoard帮助我们进行可视化学习,这里同样按照官方教程的流程进行介绍。这里提供一个视频的教程

1、Visualizing Learning 可视化学习

  TensorBoard是官方推出的一个可视化工具,方便在训练复杂度较高的神经网络时进行debug和优化,而且可以在web上直接应用。其可以展示的数据主要包括5类:标量、图像、声音、直方图和计算图(graph)。其大致的长这个样子:
  TensorBoard
  其大致的实现流程如下:
1. 创建一个TensorFlow的graph用于summary data(汇总数据)
  比如我现在有一个用于MNIST的识别CNN,我想知道学习速率的变化情况以及目标函数的变化情况,由于是标量所以我们就要给节点附加一个标量汇总(scalar_summary)来输出这些值用TensorBoard显示。再比如如果希望显示某一层中激活值或权重的分布,就可以通过直方图汇总(histogram_summary)来汇总,还有很多汇总的信息可以看一下这个文档
  也就是说汇总也是一个节点
2. 汇总数据
  得到汇总后的数据后,需要把这些汇总结果通过tf.summary.FileWriter写到硬盘里,这个函数包括两个重要参数:logdir(注明写入的地址)、还有就是可以传入一张graph(如果传入一张图,这样就可以生成一个tensor流动的示意图,这个后面会讲到),这里注意中文的TensorFlow教程已经有点老了,函数已经变了,这里用的最新的函数。
  这里注意 TensorFlow中的Operation只有在你运行的时候或者有其他操作需要它的时候才会激活,但是汇总节点是围绕着graph展开的,任何节点都不会依赖于summary。也就是说如果我们想要得到汇总结果,我们需要手动的run这些节点,为了减少麻烦可以用tf.summary.merge_all来统一汇总(这个和初始化类似)。
3. 程序
  为了更清楚的解释程序,特地写到了github里。

 2、Graph Visualization

  这部分的内容来自这里,主要介绍了如何利用刚刚生成的summary信息进行图的可视化分析。
  首先需要打开我们刚刚保存的内容,方法为在cmd中使用tensorboard –logdir=D:\spring1617_assignment2\assignment2\tmp 命令(logdir中输入的是你自己的路径),然后在浏览器中输入localhost:6006即可。
  其他的内容这里都有。

 3、embedding Visualization  

  embedding是一个常用的映射方式,可以看成降维或是转换表示,我提供的代码也已经加入了TensorBoard的embedding部分,其实就是需要加入saver = tf.train.Saver()即可。tensorboard会自动的对模型中所有的二维的variable进行可视化。
ckedit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值