2017-07-20 42 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()方法。