如何在完整的验证示例中评估Tensorflow模型

问题描述 投票:2回答:1

我正在使用Tensorflow的tf.estimator.DNNClassifier.evaluate函数来评估我的网络。我正在使用位于here的Tensorflow的Iris数据。经过一些进一步的调查和数学,我已经确定无论评估集大小,都会评估128个示例。

例如,iris_training.csv只有120个例子,评估了128个(大概是8个被评估两次)。我还有一些带有1k示例的验证集,但在这种情况下也只评估了128个示例。

我通过将总损失除以平均损失来得出所得到的示例数量。我希望能够随意改变这种情况,特别是在使用更大的验证集时。如何实现这一目标?

我已尝试使用评估函数的steps参数= 1,2,10,120等...这导致相同的,128个示例被评估,而steps = None导致函数永远不会返回。

即使在搜索了位于here的API后,我也无法理解这个128度量标准的起源。我还研究了使用位于here的类似tf.contrib.learn.DNNClassifier的估算器,但API声明该函数已被弃用并将被删除,因此我认为这不是最佳选择。

我假设步骤参数不是我找到另一个SO页面here后寻找的。

那么,我如何使用Tensorflow来评估任意数量的验证示例?

python python-3.x tensorflow evaluation tensorflow-datasets
1个回答
2
投票

128示例评估指标来自我用于为我的示例创建输入函数的tf.estimator.inputs.numpy_input_fn函数。如果没有提供batch_size的另一个参数,则定位here的此函数的API指定128为默认参数。为batch_size参数提供要评估的所需数量的示例将纠正上述问题。

© www.soinside.com 2019 - 2024. All rights reserved.