【问题标题】:Tensorflow: How to get the accuracy/prediction for whole test dataset? not for each batchTensorflow:如何获得整个测试数据集的准确性/预测?不是每批
【发布时间】:2018-04-12 10:06:48
【问题描述】:

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

Tensorflow 有 summary_op 来做这件事,但是(所有现有的例子)在运行代码 sess.run(summary_op) 时似乎只适用于一批。我需要计算整个测试数据集的准确性。我该怎么做?

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

【问题讨论】:

    标签: tensorflow deep-learning tensorflow-datasets


    【解决方案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)
      

    【讨论】:

      猜你喜欢
      • 2017-08-07
      • 2017-12-20
      • 2020-03-23
      • 1970-01-01
      • 1970-01-01
      • 2021-10-18
      • 2018-10-18
      • 1970-01-01
      • 2020-06-01
      相关资源
      最近更新 更多