我有两个问题:
1/ model.evaluate() 和 model.predict() 有什么区别?
2/ Keras如何计算它们?
我有两个问题:
1/ model.evaluate() 和 model.predict() 有什么区别?
2/ Keras如何计算它们?
model.evaluate
函数可以对给定数据集进行预测并计算模型的损失和所有相关的度量指标。它返回一个包含损失和度量指标的列表。
model.predict
只是对给定数据集中的输入进行预测,输出模型的预测结果。虽然 model.predict
的内部机制被用于 model.evaluate
中,但它们的输出是不同的,因为它们不计算相同的内容。
model.predict
的翻译,因为在model.evaluate
中执行model.predict
。 model.predict仅根据测试集预测输出矩阵,因为模型指导其如何操作。model.evaluate
会在内部执行model.predict
操作,并根据编译模型时提供的参数计算错误和准确性。例如:model.compile(optimizer=OPTIMIZER, loss='categorical_crossentropy', metrics=['mse','mae','accuracy'])
我已要求模型提供输出 mse
,mae
和 accuracy
。但是,如果我们执行 model.predict
,它将不会提供任何东西,除了输出矩阵,然后根据输出计算误差或准确性。另一方面,model.evaluate
是一个紧凑的版本,它将同时计算 mse
,mae
和 accuracy
,并提供一个类似于下面的矩阵:
[0.2498760256045422,0.015400263790238618,,0.9456890699253224]
这类似于[均方误差,平均绝对误差,准确率]
你可以随意选择任何一种。