具有numpy数组的张量板

Kai*_*Lin 12 numpy tensorflow tensorboard

有人可以举例说明如何使用tensorboard可视化numpy数组值吗?

这里有一个相关的问题,我真的不明白. Tensorboard记录非张量(numpy)信息(AUC)

例如,如果我有

for i in range(100):
    foo = np.random.rand(3,2)
Run Code Online (Sandbox Code Playgroud)

如何使用tensorboard进行100次迭代来跟踪foo的分布?有人可以给出代码示例吗?谢谢.

Yar*_*tov 16

对于简单值(标量),您可以使用此配方

summary_writer = tf.train.SummaryWriter(FLAGS.logdir)
summary = tf.Summary()
summary.value.add(tag=tagname, simple_value=value)
summary_writer.add_summary(summary, global_step)
summary_writer.flush()
Run Code Online (Sandbox Code Playgroud)

至于使用数组,也许你可以在一个序列中添加6个值,即

for value in foo:
  summary.value.add(tag=tagname, simple_value=value)
Run Code Online (Sandbox Code Playgroud)

  • 对于标量,它有效。对于数组,如果它是高维张量(通常是) for 循环会非常慢...... (2认同)

Kai*_*Lin 1

找到了一种解决方法,创建一个变量并将numpy数组的值分配给该变量,使用tensorboard跟踪该变量

mysummary_writer = tf.train.SummaryWriter("./tmp/test/")
a = tf.Variable(tf.zeros([3,2]), name="a")
sum1 = tf.histogram_summary("nparray1", a)
summary_op = tf.merge_all_summaries()
sess = tf.Session()

sess.run(tf.initialize_all_variables())

for ii in range(10):
    foo = np.random.rand(3, 2)
    assign_op = a.assign(foo)
    summary, _ = sess.run([summary_op, assign_op])
    mysummary_writer.add_summary(tf.Summary.FromString(summary), global_step=ii)
    mysummary_writer.flush()
Run Code Online (Sandbox Code Playgroud)