在https://github.com/binroot/binroot/tensorflow-book/blob/master/master/ch02_basics/ch02_basics/concept08_tensorboard.ipynb 命令面板中运行 tensorboard --logdir=path/to/logs
时,我会在http://0.0.0.0.0:6006中启动张板b'47'。
然后,当我去Explorer并查看板上的董事会时,找不到标量数据。我不确定我缺少什么。
我在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)
张板在Windows上有一个已知问题。
总而言之,Tensorboard的--logdir
可以采取一条路径,例如--logdir=/my/path
,但用户也可以将名称指定为一个或几个逗号分隔的路径,例如--logdir=foo:/my/path1,bar:/my/path2
。
问题在于,此命名系统与Windows驱动器名称不太好。指定--logdir=C:mypath
时,张板如何知道C:
是驱动器名称而不是路径名?好吧,这不是,您最终会得到一个不错的张板网页,完全没有摘要。
解决方案要么省略驱动器字母,并确保您从正确的驱动器开始,要么更稳固,以便始终提供一个路径名称,例如--logdir foo:"C:My pathto my logs"
。
update
自TF 1.5以来,Tensorboard学会了识别Windows驱动器,并且不再将其视为标签。
不使用绝对路径,例如" - logdir = path/to/logs"。尝试较短的路径,例如" - logdir = path",它适用于我的代码。