【问题标题】:Keras - What is the difference between model.evaluate() and model.predict()Keras - model.evaluate() 和 model.predict() 有什么区别
【发布时间】:2017-08-07 18:58:28
【问题描述】:

我有两个问题:

1/ model.evaluate() 和 model.predict() 有什么区别?

2/ Keras 是如何计算每一个的?

【问题讨论】:

    标签: keras


    【解决方案1】:

    model.evaluate 预测值并计算给定数据集上模型的损失和所有附加指标。它返回一个列表,其中包含一个值中的损失和指标。

    model.predict 仅在给定数据集输入的情况下预测模型的输出。 model.predict 的内部工作原理在 model.evaluate 内部使用,但两者的输出不同,因为它们计算的不是同一个东西。

    【讨论】:

      【解决方案2】:

      我会选择model.predict,因为model.predictmodel.evaluate 内部执行。 model.predict 仅根据模型指示的测试集预测输出矩阵。

      但是,model.evaluate 在内部执行model.predict 操作,并根据模型编译时提供的参数计算误差和准确度。例如

      model.compile(optimizer=OPTIMIZER, loss='categorical_crossentropy',  metrics=['mse','mae','accuracy'])
      

      在这里,我要求模型提供输出msemaeaccuracy。但是如果我们执行model.predictexcept 输出矩阵,它不会提供任何东西,然后对于输出我们需要计算误差或准确度。另一方面,model.evaluate 是一个紧凑的版本,它将计算 msemaeaccuracy 一起,并提供一个类似于

      的矩阵
      [0.2498760256045422,0.015400263790238618,,0.9456890699253224]
      

      类似[mse, mae, accuracy]

      电话是您的,您可以接听任何电话。

      【讨论】:

        猜你喜欢
        • 2017-11-12
        • 1970-01-01
        • 2020-09-19
        • 1970-01-01
        • 1970-01-01
        • 2020-03-16
        • 1970-01-01
        • 2021-08-20
        • 1970-01-01
        相关资源
        最近更新 更多