【发布时间】:2017-12-22 12:47:10
【问题描述】:
我正在使用 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 后,steps 参数不是我想要的。
那么,如何使用 Tensorflow 评估任意数量的验证示例?
【问题讨论】:
标签: python python-3.x tensorflow evaluation tensorflow-datasets