我已阅读答案here,并试图了解trainingvalidationtesting如何映射到Tensorflow Estimator API和Keras API。

答:Tensorflow

tf.estimator.train_and_evaluate函数采用train_speceval_spec

在这里,evaluate是上述术语中的validation还是testing
如果是testing,在哪里指定validation set

B:凯拉斯

在Keras中,这似乎更清楚了,model.fit采用validation_data参数,该参数用于validation set。我们为model.evaluate提供了一个单独的功能test set。它是否正确?

最佳答案

实际上,术语“测试集”和“验证集”可以互换使用(从上面的描述中有所体现)。结果,将训练期间使用的那个称为测试/验证集变得很普遍。为了消除歧义,为超参数调整而预留的集合(此处称为验证集合)通常称为保持集合。(source

根据此定义,您可以做一件简单的事情。例如,假设第一个数据集是“ train”,第二个数据集是“ validation”(如在keras中一样),用于在每个步骤对模型进行实时评估,而最终数据集是“ test”。
您只需在测试数据集上运行model.predict,即可在模型训练完毕后对其进行检查,以查看模型如何处理看不见的数据。

关于python - Tensforflow估算器与Keras的验证和测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52106752/

10-12 21:13