【问题标题】:Tensorflow - setting EvalSpecTensorflow - 设置 EvalSpec
【发布时间】:2019-06-25 20:25:54
【问题描述】:

我是 tensorflow 新手,对EvalSpec 不太了解。我不明白评估步骤的概念。我认为一旦我们学习(或部分学习)了模型,我们就会评估验证/评估数据集中的每个数据点。这是否意味着如果我们有x 的评估行数,那么我们应该指定eval steps = x

是否有选择评估步骤值的指南?它取决于工作实例的数量,还是评估集中的行数?

【问题讨论】:

    标签: python tensorflow evaluation


    【解决方案1】:

    不幸的是,该类的 API 文档很差。 code comments里有更多信息,说:

    stepsInt。评估模型的正数步骤。如果None,评估直到input_fn 引发输入结束异常。详情请见Estimator.evaluate

    听起来您正在做一些分布式培训。 train_and_evaluate 功能代码 cmets 下有很多信息,但特别是您应该阅读 this 有关分布式环境的部分。

    【讨论】:

      【解决方案2】:

      一个评估步骤类似于从您的评估input_fn 中消费一个项目,它应该输出批量数据。所以在这种情况下,步数应该大约是num_eval_rows/batch_size

      如果您在本地进行训练,您可以简单地将 step 参数设置为 None 并让您的 input_fn 不要重复您的数据,以便它在一个时期终止。在分布式情况下,不一定支持此行为,因此您必须适当地设置步数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-04-23
        • 1970-01-01
        • 2016-10-20
        • 1970-01-01
        • 2018-06-29
        • 1970-01-01
        相关资源
        最近更新 更多