我正在尝试使用Tensorboard来可视化我的测试程序。我的目的是,当每个时代完成后,我想使用整个测试数据集测试网络的准确性,并将此准确性结果存储到摘要文件中,以便我可以在Tensorboard中将其可视化。
Tensorflow有summary_op来执行此操作,但是(所有现有示例)似乎仅在运行代码sess.run(summary_op)时适用于一个批处理。我需要计算整个测试数据集的准确性。我怎么能这样做?
有没有任何例子可以做到这一点?任何帮助将不胜感激。
答案 0 :(得分:1)
您可以通过以下方式进行计算:
在测试数据集太大的情况下进行批量处理;例如放入n_test_batches
并从buffer_accuracies = 0.0
将批精度添加到缓冲区变量buffer_accuracies
最后,当您处理整个测试数据集时,将buffer_accuracies
除以test_batches
的总数
现在您将test_accuracy = buffer_accuracies/n_test_batches
作为常规python变量
否,我们无法为该python变量创建摘要,如下所示
test_accuracy_summary = tf.Summary()
test_accuracy_summary.add(tag="test_accuracy", simple_value = test_accuracy)
最后将其写到您的tensorflow FileWriter中,例如
test_writer.add_summary(test_accuracy_summary,iteration_step)