在每个时期结束时如何计算整个数据的验证准确性?

时间:2020-03-22 10:23:00

标签: keras

在Keras中,每个时期末的验证准确性是通过取所有批次的平均值来计算的。但是,我希望此计算将整个验证数据考虑在内。我该怎么办?

1 个答案:

答案 0 :(得分:0)

是可以的,为此,您需要使用最近添加到Keras的类:keras.metrics.Metric。有了它,您可以实现有状态的指标,并在批处理中累积结果(甚至自己累积每个批处理结果),然后计算最终结果。

为此,您需要继承keras.metrics.Metric并实现以下方法:

  • update_state:更新度量标准状态,这里您基本上可以累积每批结果。您可以使用self.add_weight获取可更新的变量,如果使用其他方法定义状态,则还必须实现reset_states
  • result:根据每个批次的结果计算并返回最终指标。

然后,您创建指标的一个实例并将其传递给model.compile。使用此框架here实现的指标有很多示例。