2

我正在尝试使用 Tensorboard 来可视化我的测试过程。我的目的是,当每个 epoch 完成时,我想使用整个测试数据集测试网络的准确性,并将此准确性结果存储到摘要文件中,以便我可以在 Tensorboard 中将其可视化。

Tensorflow 有 summary_op 可以做到这一点,但是(所有现有示例)在运行代码 sess.run(summary_op) 时似乎只适用于一批。我需要计算整个测试数据集的准确性。我怎样才能做到这一点?

有什么例子可以做到吗?任何帮助将不胜感激。

4

1 回答 1

1

您可以通过以下方式计算:

  1. 批处理测试数据集以防它太大;例如进入n_test_batches并从一个缓冲区开始buffer_accuracies = 0.0

  2. 将批处理精度添加到缓冲区变量中buffer_accuracies

  3. 最后,当您处理整个测试数据集时除以buffer_accuracies总数test_batches

  4. 现在您将拥有test_accuracy = buffer_accuracies/n_test_batches一个常规的 python 变量

  5. 不,我们可以为该 python 变量创建摘要,如下所示

    test_accuracy_summary = tf.Summary()
    test_accuracy_summary.add(tag="test_accuracy", simple_value = test_accuracy)
    
  6. 最后将其写入您的 tensorflow FileWriter 例如

    test_writer.add_summary(test_accuracy_summary,iteration_step)
    
于 2018-06-22T12:12:07.823 回答