如何评估函数在keras中的工作原理

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

我对Keras的evaluate函数应该期待的价值感到有点困惑。

以下是Keras文档中的evaluate函数定义:

evaluate(self, x=None, y=None, batch_size=None, 
         verbose=1, sample_weight=None, steps=None)

以下是同一页面的简短说明:

返回测试模式下模型的损失值和度量值。

如果我有一个大的交叉验证数据集需要我多次调用evaluate函数,那么evaluate函数是否记得以前的调用?或者它是否仅返回每次给定小批量的损失值?

python tensorflow machine-learning keras loss
1个回答
1
投票

evaluate()方法在传递给它的整个数据上评估模型,因此给定的损失值和度量值基于模型在整个数据上的性能。

此外,还有另一种称为test_on_batch()的方法,该方法在单批数据上测试模型,并返回给定数据批次上模型的相应损失值和度量值。

但是,我不确定你的意思是说“我有一个大的交叉验证数据集,这需要我多次调用evaluate函数......”(强调我的)。你的意思是整个验证数据不适合内存吗?如果是这种情况,并且您已将验证数据存储在磁盘上的文件中(例如h5py文件),那么您可以定义生成器并使用evaluate_generator()方法使用您定义的生成器执行评估。

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