2017-07-20 47 views
0

我在玩TensorBoard,无法做出简单的示例工作。计算只需添加两个常量。TensorBoard不显示标量

import tensorflow as tf 

sess = tf.Session() 

a = tf.constant(1, name = "const1") 
b = tf.constant(10, name = "const2") 
c = a + b 

asum = tf.summary.scalar("g1" , a) 
bsum = tf.summary.scalar("g2", b) 
csum = tf.summary.scalar("gsum", c) 

merged = tf.summary.merge_all() 


train_writer = tf.summary.FileWriter('.\logs',sess.graph) 

summary, _ = sess.run([merged, c]) 

train_writer.add_summary(summary, 0) 

那我先编译它:

>python filename.py 

一切看起来都不错。

然后:

>tensorboard --logdir=".\logs" --inspect 

怪异的事情发生了:有没有标量! TensorFlow的

Found event files in: 
.\logs 

These tags are in .\logs: 
audio - 
histograms - 
images - 
scalars - 
tensor - 
====================================================================== 

Event statistics for .\logs: 
audio - 
graph 
    first_step   0 
    last_step   0 
    max_step    0 
    min_step    0 
    num_steps   1 
    outoforder_steps  [] 
histograms - 
images - 
scalars - 
sessionlog:checkpoint - 
sessionlog:start - 
sessionlog:stop - 
tensor - 
====================================================================== 

版本:1.2.1

Python版本:3.5.2

回答

0

FileWriter对象缓存它收集的事件,然后,一旦缓冲区已满,他们写上磁盘。 只需调用FileWriter对象即可填充缓冲区,因此您可以强制FileWriter刷新缓冲区并将内容写入磁盘。要做到这一点,只需在add_summary操作后拨打.close()即可。

train_writer.add_summary(summary, 0) 
train_writer.close() 

这将关闭train_writer对象,您不能再使用它了。

如果您只想刷新缓冲区而不关闭文件,则可以使用.flush()方法。