使用Tensorflow的评估模式evaluate的学习使用

evaluate 方法的返回值取决于模型的结构和设置:

  • 如果模型只有一个输出且没有指标,返回的是一个标量,表示测试损失。

  • 如果模型有多个输出和/或指标,返回的是一个标量列表,每个标量对应一个输出或指标的值。

在代码中,你可以根据模型的结构和训练时定义的损失函数以及指标来解析返回值。如果你使用了 return_dict=True 参数,返回的结果将是一个字典,其中键是输出或指标的名称,值是对应的数值。如果 return_dict=False(默认情况),返回一个标量或标量列表。你可以通过访问 model.metrics_names 属性来获取返回结果的标签。

例如,如果你有一个模型有两个输出,一个是 “loss”,另一个是 “accuracy”,你可以这样处理返回值:

loss_and_metrics = model.evaluate(x_test, y_test)
print("Loss:", loss_and_metrics[0])
print("Accuracy:", loss_and_metrics[1])

或者,如果使用了 return_dict=True,可以这样:

result_dict = model.evaluate(x_test, y_test, return_dict=True)
print("Loss:", result_dict["loss"])
print("Accuracy:", result_dict["accuracy"])

请根据你具体的模型结构和训练设置进行相应的处理。

学习测试代码

'''
5. 模型评估'''
# 评估模型
 score = model.evaluate(x=x_test, y=y_test, verbose=0)
 print("测试集上的损失:", score[0])
 print("测试集上的准确率:", score[1])
plot_model(model=model, to_file='wdcnn.png', show_shapes=True)

运行结果

Epoch 20/20
39/39 [==============================] - 1s 17ms/step - loss: 0.0293 - accuracy: 0.9947 - val_loss: 0.0561 - val_accuracy: 0.9857
测试集上的损失: 0.05612993985414505
测试集上的准确率: 0.9857142567634583

Process finished with exit code 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王摇摆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值