【发布时间】:2017-08-07 18:58:28
【问题描述】:
我有两个问题:
1/ model.evaluate() 和 model.predict() 有什么区别?
2/ Keras 是如何计算每一个的?
【问题讨论】:
标签: keras
我有两个问题:
1/ model.evaluate() 和 model.predict() 有什么区别?
2/ Keras 是如何计算每一个的?
【问题讨论】:
标签: keras
model.evaluate 预测值并计算给定数据集上模型的损失和所有附加指标。它返回一个列表,其中包含一个值中的损失和指标。
model.predict 仅在给定数据集输入的情况下预测模型的输出。 model.predict 的内部工作原理在 model.evaluate 内部使用,但两者的输出不同,因为它们计算的不是同一个东西。
【讨论】:
我会选择model.predict,因为model.predict 在model.evaluate 内部执行。 model.predict 仅根据模型指示的测试集预测输出矩阵。
但是,model.evaluate 在内部执行model.predict 操作,并根据模型编译时提供的参数计算误差和准确度。例如
model.compile(optimizer=OPTIMIZER, loss='categorical_crossentropy', metrics=['mse','mae','accuracy'])
在这里,我要求模型提供输出mse、mae 和accuracy。但是如果我们执行model.predictexcept 输出矩阵,它不会提供任何东西,然后对于输出我们需要计算误差或准确度。另一方面,model.evaluate 是一个紧凑的版本,它将计算 mse、mae 和 accuracy 一起,并提供一个类似于
[0.2498760256045422,0.015400263790238618,,0.9456890699253224]
类似[mse, mae, accuracy]
电话是您的,您可以接听任何电话。
【讨论】: