如何将摘要添加到 seq2seq 教程?
How to add summaries to seq2seq tutorial?
我正在与 Seq2Seq example in TensorFlow 合作。我可以 运行 训练并在开发集上看到困惑的输出。太棒了!
我只想将摘要(尤其是 scalar_summary
例如开发集上的困惑)添加到事件文件中,并在 TensorBoard 中对其进行监控。在 reading the documentation, I don't understand how to annotate translate.py
与摘要操作之后。
任何人都可以用简单的伪代码帮助我吗?
看起来 translate.py
根本没有创建 TensorBoard 摘要日志。 (部分原因可能是大部分评估发生在 Python 中,而不是在 TensorFlow 图中。)让我们看看如何添加一个。
您需要创建一个 tf.train.SummaryWriter
. Add the following before entering the training loop (here):
summary_writer = tf.train.SummaryWriter("path/to/logs", sess.graph_def)
您需要为每个桶中的困惑创建摘要事件。这些值是在 Python 中计算的,因此您不能使用通常的 tf.scalar_summary()
op. Instead, you'll create a tf.Summary
directly by modifying this loop:
perplexity_summary = tf.Summary()
# Run evals on development set and print their perplexity.
for bucket_id in xrange(len(_buckets)):
encoder_inputs, decoder_inputs, target_weights = model.get_batch(
dev_set, bucket_id)
_, eval_loss, _ = model.step(sess, encoder_inputs, decoder_inputs,
target_weights, bucket_id, True)
eval_ppx = math.exp(eval_loss) if eval_loss < 300 else float('inf')
print(" eval: bucket %d perplexity %.2f" % (bucket_id, eval_ppx))
bucket_value = perplexity_summary.value.add()
bucket_value.tag = "peplexity_bucket)%d" % bucket_id
bucket_value.simple_value = eval_ppx
summary_writer.add_summary(perplexity_summary, model.global_step.eval())
您可以通过自己构建 tf.Summary
值并调用 summary_writer.add_summary()
.
来添加其他指标
我正在与 Seq2Seq example in TensorFlow 合作。我可以 运行 训练并在开发集上看到困惑的输出。太棒了!
我只想将摘要(尤其是 scalar_summary
例如开发集上的困惑)添加到事件文件中,并在 TensorBoard 中对其进行监控。在 reading the documentation, I don't understand how to annotate translate.py
与摘要操作之后。
任何人都可以用简单的伪代码帮助我吗?
看起来 translate.py
根本没有创建 TensorBoard 摘要日志。 (部分原因可能是大部分评估发生在 Python 中,而不是在 TensorFlow 图中。)让我们看看如何添加一个。
您需要创建一个
tf.train.SummaryWriter
. Add the following before entering the training loop (here):summary_writer = tf.train.SummaryWriter("path/to/logs", sess.graph_def)
您需要为每个桶中的困惑创建摘要事件。这些值是在 Python 中计算的,因此您不能使用通常的
tf.scalar_summary()
op. Instead, you'll create atf.Summary
directly by modifying this loop:perplexity_summary = tf.Summary() # Run evals on development set and print their perplexity. for bucket_id in xrange(len(_buckets)): encoder_inputs, decoder_inputs, target_weights = model.get_batch( dev_set, bucket_id) _, eval_loss, _ = model.step(sess, encoder_inputs, decoder_inputs, target_weights, bucket_id, True) eval_ppx = math.exp(eval_loss) if eval_loss < 300 else float('inf') print(" eval: bucket %d perplexity %.2f" % (bucket_id, eval_ppx)) bucket_value = perplexity_summary.value.add() bucket_value.tag = "peplexity_bucket)%d" % bucket_id bucket_value.simple_value = eval_ppx summary_writer.add_summary(perplexity_summary, model.global_step.eval())
您可以通过自己构建
tf.Summary
值并调用summary_writer.add_summary()
. 来添加其他指标