Deep Learning-TensorFlow (2) CNN卷积神经网络_TensorBoard可视化使用及MNIST代码实例

为了更方便 TensorFlow 程序的理解、调试与优化,谷歌发布了一套叫做 TensorBoard 的可视化工具。你可以用 TensorBoard 来展现你的 TensorFlow 图像,绘制图像生成的定量指标图以及附加数据。
摘要由CSDN通过智能技术生成

环境:Win8.1 TensorFlow1.0.1

软件:Anaconda3 (集成Python3及开发环境)

TensorFlow安装:pip install tensorflow (CPU版) pip install tensorflow-gpu (GPU版)

代码参考:Lib\site-packages\tensorflow\examples\tutorials\mnist 的示例代码


为了更方便 TensorFlow 程序的理解、调试与优化,谷歌发布了一套叫做 TensorBoard 的可视化工具。你可以用 TensorBoard 来展现你的 TensorFlow 图像,绘制图像生成的定量指标图以及附加数据。

示例:



作用域

TensorFlow 在构建图表的时候,可以将每一层都创建于一个唯一的 tf.name_scope 之下,创建于该作用域之下的所有元素都将带有其前缀,例如上一篇 MNIST 的实例中,我们可以将输入的训练数据和标签创建于 input 作用域下:

  with tf.name_scope('input'):
    x = tf.placeholder(tf.float32, [None, 784], name='x-input')
    y_ = tf.placeholder(tf.float32, [None, 10], name='y-input')

如此在 tensorboard 生成的 GRAPHS 中我们可以观察到input节点:



Summary

TensorBoard 通过读取 TensorFlow 的事件文件来运行。TensorFlow 的事件文件包括了你会在 TensorFlow 运行中涉及到的主要数据。

首先,创建你想汇总数据的 TensorFlow 图,然后再选择你想在哪个节点进行汇总(Summary)操作。

比如,假设你正在训练一个卷积神经网络,用于识别 MNIST 标签。你可能希望记录学习速度(learning rate)的如何变化,以及目标函数如何变化。通过向节点附加 tf.summary.scalar 操作来分别输出学习速度和期望误差。然后你可以给每个 scalar 分配一个有意义的 标签,比如 'accuracy' 和 'cross_entropy':

tf.summary.scalar('cross_entropy', cross_entropy)
如此在 TensorBoard 生成的  SCALARS 中我们可以观察到 tensor 随迭代次数的变化:


此外我们还可以对一个 tensor 变量汇总多项统计(mean, min, max, std, histogram):

def variable_summaries(var):
    """Attach a lot of summaries to a Tensor (for TensorBoard visualization)."""
    with tf.name_scope('summaries'):
      mean = tf.reduce_mean(var)
      tf.summary.scalar('mean', mean)
      with tf.name_scope('stddev'):
        stddev = tf.sqrt(tf.reduce_mean(tf.square(var - mean)))
      tf.summary.scalar('stddev', stddev)
      tf.summary.scalar('max', tf.reduce_max(var))
      tf.summary.scalar('min', tf.reduce_min(var))
      tf.summary.histogram('histogram', var)
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值