Skip to main content
 首页 » 编程设计

python之Tensorflow Estimator 与 Keras 的验证和测试

2024年09月07日27zhoujg

我已阅读答案 here并尝试了解 training、validation 和 testing 如何映射到 Tensorflow Estimator API 和 Keras API。

答: tensorflow

tf.estimator.train_and_evaluate 函数接受一个 train_spec 和一个 eval_spec。

这里的evaluate是指validation还是testing? 如果它是测试,我在哪里指定一个验证集?

B:凯拉斯

在 Keras 中,这似乎更清楚,model.fit 采用 validation_data 参数,用于验证集。有一个单独的函数 model.evaluate,我们为其提供了测试集。这是正确的吗?

请您参考如下方法:

在实践中,术语“测试集”和“验证集”可以互换使用(与上面的描述相反)。因此,将训练期间使用的数据集称为测试/验证集变得很普遍。为了消除歧义,为超参数调整预留的集合(此处称为验证集)通常称为 holdout 集。( source )

根据这个定义,你可以做一件简单的事情。例如,假设第一个数据集是“训练”,第二个是“验证”(如在 keras 中),用于在每个步骤对模型进行实时评估,最终数据集是“测试”。 您可以在模型完成训练后通过在测试数据集上运行 model.predict 来简单地检查它,以查看您的模型如何处理未见数据。