【问题标题】:How to evaluate Tensorflow model on a full validation example如何在完整的验证示例中评估 Tensorflow 模型
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-17
      • 2022-08-10
      • 2015-02-28
      • 1970-01-01
      • 1970-01-01
      • 2020-06-03
      • 1970-01-01
      相关资源
      最近更新 更多