tensorflow学习——TensorBoard可视化

1、添加要显示的变量

import tensorflow as tf

# 用于标量的summary
tf.summary.scalar('loss', cross_entropy)
tf.summary.scalar('accuracy', accuracy)

# 收集以下三个信息,统计直方图
with tf.name_scope("summary_gradients"): # 有层次显示
     tf.summary.histogram('weights', weights)   
tf.summary.histogram('biases', biases)     
tf.summary.histogram('activations', act)

# 收集图片
tf.summary.image('input', x_image, 3)
'''
tf.summary.image(tag, tensor, max_images=3, collections=None, name=None):tensor,必须4维,形状[batch_size, height, width, channels],max_images
(最多只能生成3张图片的summary),觉着这个用在卷积中的kernel可视化很好用.max_images确定了生成的图片是
[-max_images: ,height, width, channels],还有一点就是,TensorBord中看到的image summary永远是最后一个global step的
'''

merged_summary = tf.summary.merge_all()
with tf.Session() as sess:
    # 输出网络结构
    writer = tf.summary.FileWriter(your_dir, sess.graph)
    sess.run(tf.global_variable_initializer())
    _, loss_value = sess.run([train_op, loss])  # 将数据送入图中

    result = sess.run(summary) # merged也是需要run的  
    summary_writer.add_summary(result, step)  
    '''
    如果使用writer.add_summary(summary,global_step)时没有传global_step参数,
    会使scarlar_summary变成一条直线
    '''
    summary_writer.flush()  # 刷新一下

2、可视化
对于Linux和mac os:

# direct to the local dir and run this in terminal:
# $ tensorboard --logdir='logs'1212

对于windows,必须填写完整的路径,并且不要加”,:

# direct to the local dir and run this in terminal:
# $ tensorboard --logdir=dir
# 例如
tensorboard --logdir=D:\project\python3code\mofan\logs12341234

然后使用Chrome中,输入http://localhost:6006,然后切换到GRAPHS就可以看到定义的图了。

1。如果http://localhost:6006/ 进不了,可以换成这个网址: http://127.0.0.1:6006/
2。如果出现No scalar data was found…
先检查代码有没有问题,如果没有问题就是tensorboard指令用错了。应该在events文件的上一层路径输入:tensorboard –logdir=summary
注意,等号两边,不能有空格,不能有空格。。。问题解决

你可能感兴趣的:(tensorflow学习——TensorBoard可视化)