python中keras_python – Keras中的model.evaluate()返回了什么值?

Keras 的 model.evaluate() 方法返回测试损失或一系列标量值,对应于模型的多个输出和/或指标。model.metrics_names 属性提供标量输出的显示标签。例如,一个具有多个输出层的模型会显示各层的损失和平均绝对误差。通过为层指定名称,可以更清晰地识别 evaluate 方法的输出中每个数字对应的指标。
摘要由CSDN通过智能技术生成

引自

evaluate() method documentation:

Returns

Scalar test loss (if the model has a single output and no metrics) or

list of scalars (if the model has multiple outputs and/or metrics).

The attribute model.metrics_names will give you the display labels

for the scalar outputs.

因此,您可以使用模型的metrics_names属性来查找每个值对应的内容.例如:

from keras import layers

from keras import models

import numpy as np

input_data = layers.Input(shape=(100,))

out_1 = layers.Dense(1)(input_data)

out_2 = layers.Dense(1)(input_data)

model = models.Model(input_data, [out_1, out_2])

model.compile(loss='mse', optimizer='adam', metrics=['mae'])

print(model.metrics_names)

输出以下内容:

['loss', 'dense_1_loss', 'dense_2_loss', 'dense_1_mean_absolute_error', 'dense_2_mean_absolute_error']

表示您在evaluate方法的输出中看到的每个数字对应的内容.

此外,如果你有很多层,那么dense_1和dense_2名称可能有点模棱两可.要解决这种歧义,可以使用图层的名称参数为图层指定名称(不一定在所有图层上,只在输入和输出图层上):

# ...

out_1 = layers.Dense(1, name='output_1')(input_data)

out_2 = layers.Dense(1, name='output_2')(input_data)

# ...

print(model.metrics_names)

它输出更清晰的描述:

['loss', 'output_1_loss', 'output_2_loss', 'output_1_mean_absolute_error', 'output_2_mean_absolute_error']

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值