keras中model.evaluate、model.predict和model.predict_classes的区别

  1. model.evaluate 用于评估您训练的模型。它的输出是model的acc和loss,而不是对输入数据的预测。

  2. model.predict 实际预测,输入为test sample,输出为label。

  3. 在keras中有两个预测函数model.predict_classes(test) 和model.predict(test)。如果标签经过了one-hot编码,如[1,2,3,4,5]是标签类别,经编码后为[1 0 0 0 0],[0 1 0 0 0]…[0 0 0 0 1]。

    • model.predict_classes(test)预测的是类别,打印出来的值就是类别号。并且只能用于序列模型来预测,不能用于函数式模型。
    • 而model.predict(test)输出的还是5个编码值,要经过argmax(predict_test,axis=1)转化为类别号。

你可能感兴趣的:(keras中model.evaluate、model.predict和model.predict_classes的区别)