predictions = model.predict(image)输出的数组中只有1或者0,没有小数概率是为什么
时间: 2024-04-10 18:33:04 浏览: 153
mii.rar_Destination_predictions
如果在使用 `model.predict(image)` 进行预测时,输出的数组中只有 1 或者 0,而没有小数概率,可能是因为模型最后一层的激活函数设置为了 sigmoid 函数,而不是常用的 softmax 函数。
sigmoid 函数将输出值限制在范围 [0, 1] 内,并且可以用于二分类问题。当模型最后一层使用 sigmoid 函数时,输出值接近于 1 表示模型预测为正类,接近于 0 表示模型预测为负类。
如果你期望得到每个类别的概率分布,可以尝试将模型最后一层的激活函数改为 softmax 函数。softmax 函数将输出值转换为概率分布,使得所有类别的概率之和为 1。
你可以尝试以下方式修改模型的最后一层:
```python
model = tf.keras.models.load_model('model_cnnfzc.h5')
model.layers[-1].activation = tf.keras.activations.softmax
```
这样修改后,再运行 `predictions = model.predict(image)`,你应该能够得到每个类别的概率信息。
阅读全文