Windows上的Tensorboard报告"没有找到标量数据"

时间:2017-06-03 23:46:31

标签: python tensorflow tensorboard

https://github.com/BinRoot/TensorFlow-Book/blob/master/ch02_basics/Concept08_TensorBoard.ipynb

的TensorFlow社区Git存储库中完成教程

在命令面板中运行tensorboard --logdir=path/to/logs时,我得到了,启动TensorBoard b' 47'在http://0.0.0.0:6006

然后,当我去探险家并查看它带来的电路板时,没有找到标量数据。我不确定我错过了什么。

我在Python脚本中的代码副本:

import tensorflow as tf
import numpy as np

raw_data = np.random.normal(10, 1, 100)

alpha = tf.constant(0.05)
curr_value = tf.placeholder(tf.float32)
prev_avg = tf.Variable(0.)

update_avg = alpha * curr_value + (1 - alpha) * prev_avg

avg_hist = tf.summary.scalar("running_average", update_avg)
value_hist = tf.summary.scalar("incoming_values", curr_value)

merged = tf.summary.merge_all()
writer = tf.summary.FileWriter("./logs")

init = tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    for i in range(len(raw_data)):
        summary_str, curr_avg = sess.run([merged, update_avg], feed_dict=
{curr_value: raw_data[i]})
        sess.run(tf.assign(prev_avg, curr_avg))
        print(raw_data[i], curr_avg)
        writer.add_summary(summary_str, i)

2 个答案:

答案 0 :(得分:2)

Tensorboard在窗口上有known issue个路径。

总而言之,tensorboard的--logdir可以采用路径,例如--logdir=/my/path,但用户也可以指定一个或多个逗号分隔路径的名称,例如--logdir=foo:/my/path1,bar:/my/path2。< / p>

问题是这个命名系统与Windows的驱动器名称不相称。指定--logdir=C:\my\path时,tensorboard如何知道C:是驱动器名称而不是路径名?好吧,它没有,你最终得到一个很好的张量板网页,根本没有显示摘要。

解决方案要么省略驱动器号,要么确保从正确的驱动器开始,或者更加健壮,始终提供路径名,如--logdir foo:"C:\My path\to my logs"中所示。

<强>更新

从TF 1.5开始,tensorboard学会识别Windows驱动器,不再将它们视为标签了。

答案 1 :(得分:0)

请勿使用绝对路径,例如“ --logdir = path / to / logs”。尝试使用较短的路径,例如“ --logdir = path”,它适用于我的代码。