Keras - model.evaluate()和model.predict()有何区别?

4

我有两个问题:

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

2/ Keras如何计算它们?

2个回答

5

model.evaluate 函数可以对给定数据集进行预测并计算模型的损失和所有相关的度量指标。它返回一个包含损失和度量指标的列表。

model.predict 只是对给定数据集中的输入进行预测,输出模型的预测结果。虽然 model.predict 的内部机制被用于 model.evaluate 中,但它们的输出是不同的,因为它们不计算相同的内容。


4
我将进行model.predict的翻译,因为在model.evaluate中执行model.predict。 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]

这类似于[均方误差,平均绝对误差,准确率]

你可以随意选择任何一种。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接