Keras - model.evaluate()和model.predict()之间有什么区别

时间:2017-08-07 18:58:28

标签: keras

我有两个问题:

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

2 / Keras如何计算每一个?

2 个答案:

答案 0 :(得分:3)

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

model.predict仅根据数据集的输入预测模型的输出。 model.predict的内部工作在model.evaluate中使用,但两者的输出都不同,因为它们不会计算相同的内容。

答案 1 :(得分:2)

model.predict内部执行model.predict的过程中,我将首先使用model.evaluate。 model.predict仅根据模型指示,基于测试集预测输出矩阵。

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

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

在这里,我要求模型提供输出msemaeaccuracy。但是,如果我们执行model.predict,除了输出矩阵之外,它什么都不会提供,然后关于输出,我们需要计算误差或准确性。另一方面,model.evaluate是紧凑版本,它将一起计算msemaeaccuracy,并提供类似

的矩阵
[0.2498760256045422,0.015400263790238618,,0.9456890699253224]

类似于[mse, mae, accuracy]

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