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

2024-05-17 02:53:57 发布

您现在位置:Python中文网/ 问答频道 /正文

发布在Github上的TensorFlow中实现的一些模型的“evaluation”函数运行while循环,例如resnet(in resnet_main.py)等

我想知道为什么我们需要多次评估测试数据。在


Tags: 函数inpy模型githubmaintensorflowresnet
2条回答

你不会多次评估测试数据。计算测试集的不相交子集,以获得这些子集(整个测试集)并集的求值

测试数据计算一次:the loop is on its samples。原因很普通:当测试数据很大时,由于整个网络无法装入内存,因此无法将其作为一个整体进行处理。在这种情况下,它被分成小批量。在

因此,即使是在小批量上进行培训和测试,其根本原因确实是完全不同的。在

编辑

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

其基本原理解释如下:here:当您在一个环境中工作时,它非常有用,因为您可以在不同的gpu上进行培训和测试。在

相关问题 更多 >