【发布时间】:2021-04-22 19:24:07
【问题描述】:
我从 Keras 训练了 40 个类的 InceptionResNetV2,并使用 model.evaluate() 对其进行了测试;一切都很好。但是当我尝试对单个图像使用 model.predict() 时,我得到的输出类似于
[[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]] 而不是概率分布。
用于错误重现的 Colab:https://colab.research.google.com/drive/1BTuNdwQK5CqaggBVAfJ1cTTR2Qp0GH6v?usp=sharing
【问题讨论】:
-
请提供一些代码来重现...
-
链接@DavidThery的编辑问题
-
输出层需要激活,好像它丢失了,你只有一个密集层。例如
activation='sigmoid' -
在处理多个类时输出激活不应该是'softmax'吗?
-
是的,没错。你的预测准确吗?如果不是,它似乎过拟合。您可以尝试几件事:第一次查看您提供的数据,第二次查看训练集,模型表现如何?是否可以显示代码,您如何传输预训练的权重?因为您的 colab 从加载模型开始。我认为需要完整的图片。
标签: python tensorflow keras