【发布时间】:2019-12-23 07:38:47
【问题描述】:
我正在尝试使用 model.predict 方法预测猫/狗图像。因为它是 2 类分类器,所以我得到一个包含 2 个值的数组。根据我的理解,这些值代表属于每个类别的概率(如果我错了,请纠正我)。如果是这样,则概率必须相加为 1。但我得到两个类的概率相同
模型历史
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
flatten (Flatten) multiple 0
_________________________________________________________________
dense (Dense) multiple 30848
_________________________________________________________________
dropout (Dropout) multiple 0
_________________________________________________________________
batch_normalization (BatchNo multiple 512
_________________________________________________________________
dense_1 (Dense) multiple 12900
_________________________________________________________________
dropout_1 (Dropout) multiple 0
_________________________________________________________________
batch_normalization_1 (Batch multiple 400
_________________________________________________________________
dense_2 (Dense) multiple 10100
_________________________________________________________________
dropout_2 (Dropout) multiple 0
_________________________________________________________________
batch_normalization_2 (Batch multiple 400
_________________________________________________________________
dense_3 (Dense) multiple 10100
_________________________________________________________________
dropout_3 (Dropout) multiple 0
_________________________________________________________________
batch_normalization_3 (Batch multiple 400
_________________________________________________________________
dense_4 (Dense) multiple 10100
_________________________________________________________________
dropout_4 (Dropout) multiple 0
_________________________________________________________________
batch_normalization_4 (Batch multiple 400
_________________________________________________________________
dense_5 (Dense) multiple 202
=================================================================
Total params: 76,362
Trainable params: 75,306
Non-trainable params: 1,056
预测代码
class_prob=model.predict(new_array_2.T,batch_size=1)
print(class_prob)
classifications=model.predict_classes(new_array_2.T,batch_size=1)
print(classifications)
print(CATEGORIES[classifications[0]])
输出
[[0.39456758 0.39456758]]
[0]
Dog
【问题讨论】:
-
请添加你的模型代码,最后一层的激活是什么?
-
我们能看到型号代码和/或摘要吗?
-
@Stewart_R 摘要就在问题中。
-
@MatiasValdenegro 哈哈——我的错。确实如此,对不起!我期待看到一个带有明确输出形状的摘要,我猜我只是忽略了它。我的评论与您的评论“交叉”,否则我永远不会打扰。如果我在你之前发现了我的愚蠢行为,我就会删除它。唉,现在不得不道歉并解释为什么我是这样的驴,我不敢删除它,所以我的驴将永远让所有人看到! :-) 没关系!
标签: python tensorflow machine-learning keras deep-learning