对于keras函数fit(),fit_generator()通过将keras.callbacks.TensorBoard对象传递给函数,可以进行张量板可视化.对于该train_on_batch()功能,显然没有可用的回调.在这种情况下,keras中还有其他选项来创建Tensorboard吗?
我试图在张量板中可视化张量总结.但是我无法在董事会中看到张量概要.这是我的代码:
out = tf.strided_slice(logits, begin=[self.args.uttWindowSize-1, 0], end=[-self.args.uttWindowSize+1, self.args.numClasses],
strides=[1, 1], name='softmax_truncated')
tf.summary.tensor_summary('softmax_input', out)
Run Code Online (Sandbox Code Playgroud)
其中out是多维张量.我想我的代码一定有问题.可能我tensor_summary错误地使用了这个功能.
在TF(此处和此处)中创建自定义标量摘要有几个SO答案,但我找不到有关创建自定义直方图摘要的任何内容.自定义摘要似乎非常缺乏文档.我有一个笨拙的数组,我想总结一下 - 关于如何做出任何想法?
(tf.Summary.Value有一个我试过使用过的histo字段,但它需要一个tensorflow :: HistogramProto;那个类上也没有文档,所以我对如何制作它感到很茫然.我试过创建以下最小的失败例子).
import tensorflow as tf
import numpy as np
sess = tf.Session()
means_placeholder = tf.placeholder(tf.float32)
tf.summary.histogram('means', means_placeholder)
summaries = tf.summary.merge_all()
writer = tf.summary.FileWriter('./summaries')
means = np.random.random(10)
writer.add_summary(tf.Summary(value=[tf.Summary.Value(tag='means', histo=means)]))
Run Code Online (Sandbox Code Playgroud) 为了将一个简单的值记录val到我需要的TensorBoard摘要中
val = 5
test_writer.add_summary(sess.run(tf.scalar_summary('test', val)), global_step)
Run Code Online (Sandbox Code Playgroud)
是
sess.run(tf.scalar_summary('test', val))
Run Code Online (Sandbox Code Playgroud)
真的有必要val作为摘要添加?
我想使用Tensorboard可视化验证样本的损失演变.但是验证集太大而无法在一个小批量中进行计算.因此,为了计算我的验证损失,我必须在覆盖验证集的几个小批量上多次调用session.run.然后我总结每个小批量的损失(在python中)以获得完整的验证损失.
我的问题是tf.scalar_summary似乎必须附加到张量流节点.但我需要以某种方式将它"附加"到几个run.run运行的节点值的总和.
有没有办法做到这一点?也许通过直接总结包含小批量损失总和的python浮点数?但我没有在文档中看到一种方法来"总结"张量板,这是一个在计算之外的python值.文档的"操作方法"部分中的示例仅涉及可以在对session.run的单个调用中计算的损失.