为什么要在tensorflow中循环评估测试数据?

时间:2017-07-09 04:07:53

标签: python machine-learning tensorflow deep-learning

Github发布的TensorFlow中实施的一些模型进行了评估'函数运行while循环,例如resnet(在resnet_main.py中)等等。

我想知道为什么我们需要不止一次评估测试数据。

2 个答案:

答案 0 :(得分:1)

测试数据评估一次:the loop is on its samples。原因是相当普通的:当测试数据很大时,它不能作为一个整体进行处理,因为整个网络无法适应内存。在这种情况下,它被分成小批量。

因此,即使在微型计算机上进行训练和测试循环,其根本原因也确实存在很大差异。

修改

外部循环具有不同的角色:a new model is loaded at each iteration。这用于您在不同的进程中运行评估,该进程定期读取磁盘上的培训输出并对其进行评估。

理解解释here:当您在可以在不同GPU上进行培训和测试的环境中工作时,它非常有用。

答案 1 :(得分:0)

您不会多次评估测试数据。您评估测试集的析取子集以获得对这些子集(整个测试集)的并集的评估