前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tensorflow: tensorboard 探究

tensorflow: tensorboard 探究

作者头像
JNingWei
发布2018-09-28 16:19:53
5680
发布2018-09-28 16:19:53
举报
文章被收录于专栏:JNing的专栏JNing的专栏

功能模块

Module

Annotation

SCALARS

记录单一变量的,使用 tf.summary.scalar() 收集构建。

IMAGES

收集的图片数据,当我们使用的数据为图片时(选用),使用 tf.summary.image() 收集构建。

AUDIO

收集的音频数据,当我们使用数据为音频时(选用)。

GRAPHS

构件图,效果图类似流程图一样,我们可以看到数据的流向,使用tf.name_scope()收集构建。

DISTRIBUTIONS

用于查看变量的分布值,比如 W(Weights)变化的过程中,主要是在 0.5 附近徘徊。

HISTOGRAMS

用于记录变量的历史值(比如 weights 值,平均值等),并使用折线图的方式展现,使用tf.summary.histogram()进行收集构建。

打开方式

法一

  代码运行完成之后,可以用bash脚本一键浏览器访问tensorboard终端:

代码语言:javascript
复制
xdg-open 'http://localhost:6006/#histograms'
tensorboard --logdir=.

法二

  代码运行完成之后,命令行中跳转到代码生成的文件夹中,输入

代码语言:javascript
复制
tensorboard --logdir .

  等待程序反应之后,浏览器访问

localhost:6006

  也可以自己定义端口

demo

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

源码

  打开终端,执行 bash run.sh 即可一键生成 tensorboard log 并自动打开 6006端口

main.py:

代码语言:javascript
复制
log_path = './log'
N = 400

import shutil
try:
    shutil.rmtree(log_path)
except OSError:
    pass

import tensorflow as tf

k = tf.placeholder(dtype=tf.float32)

moving_mean = tf.random_normal(shape=[1000], mean=(5*k), stddev=1)
tf.summary.histogram('normal/moving_mean', moving_mean)

shrinking_mean = tf.random_normal(shape=[1000], mean=0, stddev=1-k)
tf.summary.histogram('normal/shrinking_mean', shrinking_mean)

normal_combined = tf.concat([moving_mean, shrinking_mean], axis=0)
tf.summary.histogram('normal/normal_combined', normal_combined)

gamma = tf.random_gamma(shape=[1000], alpha=k)
tf.summary.histogram('other/gamma', gamma)

poisson = tf.random_poisson(lam=k, shape=[1000])
tf.summary.histogram('other/poisson', poisson)

uniform = tf.random_uniform(shape=[1000], minval=k*10)
tf.summary.histogram('other/uniform', uniform)

all_combined = tf.concat([moving_mean, shrinking_mean, gamma, poisson, uniform], axis=0)
tf.summary.histogram('all_combined', all_combined)

summaries = tf.summary.merge_all()

sess = tf.Session()
writer = tf.summary.FileWriter(log_path)
for step in range(N):
    val = step/float(N)
    merge_op = sess.run(summaries, feed_dict={k:val})
    writer.add_summary(summary=merge_op, global_step=step)
writer.close()

run.sh:

代码语言:javascript
复制
python main.py

xdg-open 'http://localhost:6006/#histograms'
tensorboard --logdir=./


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年06月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 功能模块
  • 打开方式
    • 法一
      • 法二
      • demo
      • 源码
        • main.py:
          • run.sh:
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档