tensorBoard 可视化工具

来源:互联网 发布:河北网络电视客户端 编辑:程序博客网 时间:2024/06/06 18:00

tensorBoard 可视化工具

  • 数据序列化
    Tensorflow通过读取Tensorflow的时间文件来运行.
    1.创建你想汇总数据的 TensorFlow 图,然后再选择你想在哪个节点进行汇总(summary)操作。通过向节点附加scalar_summary操作来分别输出学习速度和期望误差

    tf.scalar_summary(tags, values, collections=None, name=None)tf.image_summary(tag, tensor, max_images=3, collections=None, name=None)tf.audio_summary(tag, tensor, sample_rate, max_outputs=3, collections=None, name=None)tf.histogram_summary(tag, values, collections=None, name=None)

tags 标签 可以给每个scalary_summary 分配一个有意义的 标签 ,比如 ‘learning rate’ 和 ‘loss function’
value/tensor :相对应的需要汇总的张量(一定shape的张量)
collection
2.使用tf.merge_all_summaries来将所有可视化操作节点合并为一个操作。

        tf.merge_summary(inputs, collections=None, name=None)        tf.merge_all_summaries(key='summaries')

key:用于收集汇总数据 Defaults to GraphKeys.SUMMARIES.
3.执行合并命令,它会依据特点步骤将所有数据生成一个序列化的 Summary protobuf对象。最后,为了将汇总数据写入磁盘,需要将汇总的protobuf对象传递给tf.train.Summarywriter。
SummaryWriter 的构造函数中包含了参数 logdir。这个 logdir 非常重要,所有事件都会写到它所指的目录下。此外, SummaryWriter 中还包含了一个可选择的参数 GraphDef 。如果输入了该参数,那么 TensorBoard
也会显示你的图像。

    #定义合并节点    merged_summary_op = tf. merge_all_summaries()    summary_writer = tf. train. SummaryWriter('/tmp/mnist_logs' , sess. graph)    total_step = 0    while training:    total_step += 1    session. run(training_op)    #100步汇总一次    if total_step % 100 == 0:    summary_str = session. run(merged_summary_op)    summary_writer. add_summary(summary_str, total_step)

* 启动TensorBoard 

    python tensorflow/tensorboard/tensorboard.py --logdir=path/to/log-directory    #logdir指向SummaryWriter序列化数据的存储路径

一旦 TensorBoard 开始运行,你可以通过在浏览器中输入 localhost:6006 来查看 TensorBoard。
如果你已经通过pip安装了 TensorBoard,你可以通过执行更为简单地命令来访问 TensorBoard
tensorboard –logdir=/path/to/log-directory

为了显示自己的图表,需将 TensorBoard 指向此工作的日志目录并运行,

  • 名称域
    为变量名划定范围.并且可视化把该信息用于在图表中的节点上定义一个层级。

        with tf. name_scope('hidden' ) as scope:    a = tf. constant(5, name='alpha' )    W = tf. Variable(tf. random_uniform([1, 2] , -1.0, 1.0) , name='weights' )    b = tf. Variable(tf. zeros([1] ) , name='biases' )    结果是得到了下面三个操作名:    • hidden/alpha    • hidden/weights    • hidden/biases

    TensorFlow 图表有两种连接关系:数据依赖和控制依赖。数据依赖显示两个操作之间的tensor流程,用实心箭头指示,而控制依赖用点线表示。

0 0
原创粉丝点击